#include <GL/gl3w.h>

#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>

static HMODULE libgl;

static void open_libgl(void)
{
	libgl = LoadLibraryA("opengl32.dll");
}

static void close_libgl(void)
{
	FreeLibrary(libgl);
}

static void *get_proc(const char *proc)
{
	void *res;

	res = wglGetProcAddress(proc);
	if (!res)
		res = GetProcAddress(libgl, proc);
	return res;
}
#elif defined(__APPLE__) || defined(__APPLE_CC__)
#include <Carbon/Carbon.h>

CFBundleRef bundle;
CFURLRef bundleURL;

static void open_libgl(void)
{
	bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
		CFSTR("/System/Library/Frameworks/OpenGL.framework"),
		kCFURLPOSIXPathStyle, true);

	bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
	assert(bundle != NULL);
}

static void close_libgl(void)
{
	CFRelease(bundle);
	CFRelease(bundleURL);
}

static void *get_proc(const char *proc)
{
	void *res;

	CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault, proc,
		kCFStringEncodingASCII);
	res = CFBundleGetFunctionPointerForName(bundle, procname);
	CFRelease(procname);
	return res;
}
#else
#include <dlfcn.h>
#include <GL/glx.h>

static void *libgl;

static void open_libgl(void)
{
	libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
//	libgl = dlopen("libGL.so.1.2.0", RTLD_LAZY | RTLD_GLOBAL);
}

static void close_libgl(void)
{
	dlclose(libgl);
}

static void *get_proc(const char *proc)
{
	void *res;

	res = glXGetProcAddress((const GLubyte *) proc);
	if (!res)
		res = dlsym(libgl, proc);
	return res;
}
#endif

static struct {
	int major, minor;
} version;

static int parse_version(void)
{
	if (!glGetIntegerv)
		return -1;

	glGetIntegerv(GL_MAJOR_VERSION, &version.major);
	glGetIntegerv(GL_MINOR_VERSION, &version.minor);

	if (version.major < 3)
		return -1;
	return 0;
}

static void load_procs(void);

int gl3wInit(void)
{
	open_libgl();
	load_procs();
	close_libgl();
	return parse_version();
}

int gl3wIsSupported(int major, int minor)
{
	if (major < 3)
		return 0;
	if (version.major == major)
		return version.minor >= minor;
	return version.major >= major;
}

void *gl3wGetProcAddress(const char *proc)
{
	return get_proc(proc);
}

PFNGLCULLFACEPROC gl3wCullFace;
PFNGLFRONTFACEPROC gl3wFrontFace;
PFNGLHINTPROC gl3wHint;
PFNGLLINEWIDTHPROC gl3wLineWidth;
PFNGLPOINTSIZEPROC gl3wPointSize;
PFNGLPOLYGONMODEPROC gl3wPolygonMode;
PFNGLSCISSORPROC gl3wScissor;
PFNGLTEXPARAMETERFPROC gl3wTexParameterf;
PFNGLTEXPARAMETERFVPROC gl3wTexParameterfv;
PFNGLTEXPARAMETERIPROC gl3wTexParameteri;
PFNGLTEXPARAMETERIVPROC gl3wTexParameteriv;
PFNGLTEXIMAGE1DPROC gl3wTexImage1D;
PFNGLTEXIMAGE2DPROC gl3wTexImage2D;
PFNGLDRAWBUFFERPROC gl3wDrawBuffer;
PFNGLCLEARPROC gl3wClear;
PFNGLCLEARCOLORPROC gl3wClearColor;
PFNGLCLEARSTENCILPROC gl3wClearStencil;
PFNGLCLEARDEPTHPROC gl3wClearDepth;
PFNGLSTENCILMASKPROC gl3wStencilMask;
PFNGLCOLORMASKPROC gl3wColorMask;
PFNGLDEPTHMASKPROC gl3wDepthMask;
PFNGLDISABLEPROC gl3wDisable;
PFNGLENABLEPROC gl3wEnable;
PFNGLFINISHPROC gl3wFinish;
PFNGLFLUSHPROC gl3wFlush;
PFNGLBLENDFUNCPROC gl3wBlendFunc;
PFNGLLOGICOPPROC gl3wLogicOp;
PFNGLSTENCILFUNCPROC gl3wStencilFunc;
PFNGLSTENCILOPPROC gl3wStencilOp;
PFNGLDEPTHFUNCPROC gl3wDepthFunc;
PFNGLPIXELSTOREFPROC gl3wPixelStoref;
PFNGLPIXELSTOREIPROC gl3wPixelStorei;
PFNGLREADBUFFERPROC gl3wReadBuffer;
PFNGLREADPIXELSPROC gl3wReadPixels;
PFNGLGETBOOLEANVPROC gl3wGetBooleanv;
PFNGLGETDOUBLEVPROC gl3wGetDoublev;
PFNGLGETERRORPROC gl3wGetError;
PFNGLGETFLOATVPROC gl3wGetFloatv;
PFNGLGETINTEGERVPROC gl3wGetIntegerv;
PFNGLGETSTRINGPROC gl3wGetString;
PFNGLGETTEXIMAGEPROC gl3wGetTexImage;
PFNGLGETTEXPARAMETERFVPROC gl3wGetTexParameterfv;
PFNGLGETTEXPARAMETERIVPROC gl3wGetTexParameteriv;
PFNGLGETTEXLEVELPARAMETERFVPROC gl3wGetTexLevelParameterfv;
PFNGLGETTEXLEVELPARAMETERIVPROC gl3wGetTexLevelParameteriv;
PFNGLISENABLEDPROC gl3wIsEnabled;
PFNGLDEPTHRANGEPROC gl3wDepthRange;
PFNGLVIEWPORTPROC gl3wViewport;
PFNGLDRAWARRAYSPROC gl3wDrawArrays;
PFNGLDRAWELEMENTSPROC gl3wDrawElements;
PFNGLGETPOINTERVPROC gl3wGetPointerv;
PFNGLPOLYGONOFFSETPROC gl3wPolygonOffset;
PFNGLCOPYTEXIMAGE1DPROC gl3wCopyTexImage1D;
PFNGLCOPYTEXIMAGE2DPROC gl3wCopyTexImage2D;
PFNGLCOPYTEXSUBIMAGE1DPROC gl3wCopyTexSubImage1D;
PFNGLCOPYTEXSUBIMAGE2DPROC gl3wCopyTexSubImage2D;
PFNGLTEXSUBIMAGE1DPROC gl3wTexSubImage1D;
PFNGLTEXSUBIMAGE2DPROC gl3wTexSubImage2D;
PFNGLBINDTEXTUREPROC gl3wBindTexture;
PFNGLDELETETEXTURESPROC gl3wDeleteTextures;
PFNGLGENTEXTURESPROC gl3wGenTextures;
PFNGLISTEXTUREPROC gl3wIsTexture;
PFNGLDRAWRANGEELEMENTSPROC gl3wDrawRangeElements;
PFNGLTEXIMAGE3DPROC gl3wTexImage3D;
PFNGLTEXSUBIMAGE3DPROC gl3wTexSubImage3D;
PFNGLCOPYTEXSUBIMAGE3DPROC gl3wCopyTexSubImage3D;
PFNGLACTIVETEXTUREPROC gl3wActiveTexture;
PFNGLSAMPLECOVERAGEPROC gl3wSampleCoverage;
PFNGLCOMPRESSEDTEXIMAGE3DPROC gl3wCompressedTexImage3D;
PFNGLCOMPRESSEDTEXIMAGE2DPROC gl3wCompressedTexImage2D;
PFNGLCOMPRESSEDTEXIMAGE1DPROC gl3wCompressedTexImage1D;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC gl3wCompressedTexSubImage3D;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC gl3wCompressedTexSubImage2D;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC gl3wCompressedTexSubImage1D;
PFNGLGETCOMPRESSEDTEXIMAGEPROC gl3wGetCompressedTexImage;
PFNGLBLENDFUNCSEPARATEPROC gl3wBlendFuncSeparate;
PFNGLMULTIDRAWARRAYSPROC gl3wMultiDrawArrays;
PFNGLMULTIDRAWELEMENTSPROC gl3wMultiDrawElements;
PFNGLPOINTPARAMETERFPROC gl3wPointParameterf;
PFNGLPOINTPARAMETERFVPROC gl3wPointParameterfv;
PFNGLPOINTPARAMETERIPROC gl3wPointParameteri;
PFNGLPOINTPARAMETERIVPROC gl3wPointParameteriv;
PFNGLBLENDCOLORPROC gl3wBlendColor;
PFNGLBLENDEQUATIONPROC gl3wBlendEquation;
PFNGLGENQUERIESPROC gl3wGenQueries;
PFNGLDELETEQUERIESPROC gl3wDeleteQueries;
PFNGLISQUERYPROC gl3wIsQuery;
PFNGLBEGINQUERYPROC gl3wBeginQuery;
PFNGLENDQUERYPROC gl3wEndQuery;
PFNGLGETQUERYIVPROC gl3wGetQueryiv;
PFNGLGETQUERYOBJECTIVPROC gl3wGetQueryObjectiv;
PFNGLGETQUERYOBJECTUIVPROC gl3wGetQueryObjectuiv;
PFNGLBINDBUFFERPROC gl3wBindBuffer;
PFNGLDELETEBUFFERSPROC gl3wDeleteBuffers;
PFNGLGENBUFFERSPROC gl3wGenBuffers;
PFNGLISBUFFERPROC gl3wIsBuffer;
PFNGLBUFFERDATAPROC gl3wBufferData;
PFNGLBUFFERSUBDATAPROC gl3wBufferSubData;
PFNGLGETBUFFERSUBDATAPROC gl3wGetBufferSubData;
PFNGLMAPBUFFERPROC gl3wMapBuffer;
PFNGLUNMAPBUFFERPROC gl3wUnmapBuffer;
PFNGLGETBUFFERPARAMETERIVPROC gl3wGetBufferParameteriv;
PFNGLGETBUFFERPOINTERVPROC gl3wGetBufferPointerv;
PFNGLBLENDEQUATIONSEPARATEPROC gl3wBlendEquationSeparate;
PFNGLDRAWBUFFERSPROC gl3wDrawBuffers;
PFNGLSTENCILOPSEPARATEPROC gl3wStencilOpSeparate;
PFNGLSTENCILFUNCSEPARATEPROC gl3wStencilFuncSeparate;
PFNGLSTENCILMASKSEPARATEPROC gl3wStencilMaskSeparate;
PFNGLATTACHSHADERPROC gl3wAttachShader;
PFNGLBINDATTRIBLOCATIONPROC gl3wBindAttribLocation;
PFNGLCOMPILESHADERPROC gl3wCompileShader;
PFNGLCREATEPROGRAMPROC gl3wCreateProgram;
PFNGLCREATESHADERPROC gl3wCreateShader;
PFNGLDELETEPROGRAMPROC gl3wDeleteProgram;
PFNGLDELETESHADERPROC gl3wDeleteShader;
PFNGLDETACHSHADERPROC gl3wDetachShader;
PFNGLDISABLEVERTEXATTRIBARRAYPROC gl3wDisableVertexAttribArray;
PFNGLENABLEVERTEXATTRIBARRAYPROC gl3wEnableVertexAttribArray;
PFNGLGETACTIVEATTRIBPROC gl3wGetActiveAttrib;
PFNGLGETACTIVEUNIFORMPROC gl3wGetActiveUniform;
PFNGLGETATTACHEDSHADERSPROC gl3wGetAttachedShaders;
PFNGLGETATTRIBLOCATIONPROC gl3wGetAttribLocation;
PFNGLGETPROGRAMIVPROC gl3wGetProgramiv;
PFNGLGETPROGRAMINFOLOGPROC gl3wGetProgramInfoLog;
PFNGLGETSHADERIVPROC gl3wGetShaderiv;
PFNGLGETSHADERINFOLOGPROC gl3wGetShaderInfoLog;
PFNGLGETSHADERSOURCEPROC gl3wGetShaderSource;
PFNGLGETUNIFORMLOCATIONPROC gl3wGetUniformLocation;
PFNGLGETUNIFORMFVPROC gl3wGetUniformfv;
PFNGLGETUNIFORMIVPROC gl3wGetUniformiv;
PFNGLGETVERTEXATTRIBDVPROC gl3wGetVertexAttribdv;
PFNGLGETVERTEXATTRIBFVPROC gl3wGetVertexAttribfv;
PFNGLGETVERTEXATTRIBIVPROC gl3wGetVertexAttribiv;
PFNGLGETVERTEXATTRIBPOINTERVPROC gl3wGetVertexAttribPointerv;
PFNGLISPROGRAMPROC gl3wIsProgram;
PFNGLISSHADERPROC gl3wIsShader;
PFNGLLINKPROGRAMPROC gl3wLinkProgram;
PFNGLSHADERSOURCEPROC gl3wShaderSource;
PFNGLUSEPROGRAMPROC gl3wUseProgram;
PFNGLUNIFORM1FPROC gl3wUniform1f;
PFNGLUNIFORM2FPROC gl3wUniform2f;
PFNGLUNIFORM3FPROC gl3wUniform3f;
PFNGLUNIFORM4FPROC gl3wUniform4f;
PFNGLUNIFORM1IPROC gl3wUniform1i;
PFNGLUNIFORM2IPROC gl3wUniform2i;
PFNGLUNIFORM3IPROC gl3wUniform3i;
PFNGLUNIFORM4IPROC gl3wUniform4i;
PFNGLUNIFORM1FVPROC gl3wUniform1fv;
PFNGLUNIFORM2FVPROC gl3wUniform2fv;
PFNGLUNIFORM3FVPROC gl3wUniform3fv;
PFNGLUNIFORM4FVPROC gl3wUniform4fv;
PFNGLUNIFORM1IVPROC gl3wUniform1iv;
PFNGLUNIFORM2IVPROC gl3wUniform2iv;
PFNGLUNIFORM3IVPROC gl3wUniform3iv;
PFNGLUNIFORM4IVPROC gl3wUniform4iv;
PFNGLUNIFORMMATRIX2FVPROC gl3wUniformMatrix2fv;
PFNGLUNIFORMMATRIX3FVPROC gl3wUniformMatrix3fv;
PFNGLUNIFORMMATRIX4FVPROC gl3wUniformMatrix4fv;
PFNGLVALIDATEPROGRAMPROC gl3wValidateProgram;
PFNGLVERTEXATTRIB1DPROC gl3wVertexAttrib1d;
PFNGLVERTEXATTRIB1DVPROC gl3wVertexAttrib1dv;
PFNGLVERTEXATTRIB1FPROC gl3wVertexAttrib1f;
PFNGLVERTEXATTRIB1FVPROC gl3wVertexAttrib1fv;
PFNGLVERTEXATTRIB1SPROC gl3wVertexAttrib1s;
PFNGLVERTEXATTRIB1SVPROC gl3wVertexAttrib1sv;
PFNGLVERTEXATTRIB2DPROC gl3wVertexAttrib2d;
PFNGLVERTEXATTRIB2DVPROC gl3wVertexAttrib2dv;
PFNGLVERTEXATTRIB2FPROC gl3wVertexAttrib2f;
PFNGLVERTEXATTRIB2FVPROC gl3wVertexAttrib2fv;
PFNGLVERTEXATTRIB2SPROC gl3wVertexAttrib2s;
PFNGLVERTEXATTRIB2SVPROC gl3wVertexAttrib2sv;
PFNGLVERTEXATTRIB3DPROC gl3wVertexAttrib3d;
PFNGLVERTEXATTRIB3DVPROC gl3wVertexAttrib3dv;
PFNGLVERTEXATTRIB3FPROC gl3wVertexAttrib3f;
PFNGLVERTEXATTRIB3FVPROC gl3wVertexAttrib3fv;
PFNGLVERTEXATTRIB3SPROC gl3wVertexAttrib3s;
PFNGLVERTEXATTRIB3SVPROC gl3wVertexAttrib3sv;
PFNGLVERTEXATTRIB4NBVPROC gl3wVertexAttrib4Nbv;
PFNGLVERTEXATTRIB4NIVPROC gl3wVertexAttrib4Niv;
PFNGLVERTEXATTRIB4NSVPROC gl3wVertexAttrib4Nsv;
PFNGLVERTEXATTRIB4NUBPROC gl3wVertexAttrib4Nub;
PFNGLVERTEXATTRIB4NUBVPROC gl3wVertexAttrib4Nubv;
PFNGLVERTEXATTRIB4NUIVPROC gl3wVertexAttrib4Nuiv;
PFNGLVERTEXATTRIB4NUSVPROC gl3wVertexAttrib4Nusv;
PFNGLVERTEXATTRIB4BVPROC gl3wVertexAttrib4bv;
PFNGLVERTEXATTRIB4DPROC gl3wVertexAttrib4d;
PFNGLVERTEXATTRIB4DVPROC gl3wVertexAttrib4dv;
PFNGLVERTEXATTRIB4FPROC gl3wVertexAttrib4f;
PFNGLVERTEXATTRIB4FVPROC gl3wVertexAttrib4fv;
PFNGLVERTEXATTRIB4IVPROC gl3wVertexAttrib4iv;
PFNGLVERTEXATTRIB4SPROC gl3wVertexAttrib4s;
PFNGLVERTEXATTRIB4SVPROC gl3wVertexAttrib4sv;
PFNGLVERTEXATTRIB4UBVPROC gl3wVertexAttrib4ubv;
PFNGLVERTEXATTRIB4UIVPROC gl3wVertexAttrib4uiv;
PFNGLVERTEXATTRIB4USVPROC gl3wVertexAttrib4usv;
PFNGLVERTEXATTRIBPOINTERPROC gl3wVertexAttribPointer;
PFNGLUNIFORMMATRIX2X3FVPROC gl3wUniformMatrix2x3fv;
PFNGLUNIFORMMATRIX3X2FVPROC gl3wUniformMatrix3x2fv;
PFNGLUNIFORMMATRIX2X4FVPROC gl3wUniformMatrix2x4fv;
PFNGLUNIFORMMATRIX4X2FVPROC gl3wUniformMatrix4x2fv;
PFNGLUNIFORMMATRIX3X4FVPROC gl3wUniformMatrix3x4fv;
PFNGLUNIFORMMATRIX4X3FVPROC gl3wUniformMatrix4x3fv;
PFNGLCOLORMASKIPROC gl3wColorMaski;
PFNGLGETBOOLEANI_VPROC gl3wGetBooleani_v;
PFNGLGETINTEGERI_VPROC gl3wGetIntegeri_v;
PFNGLENABLEIPROC gl3wEnablei;
PFNGLDISABLEIPROC gl3wDisablei;
PFNGLISENABLEDIPROC gl3wIsEnabledi;
PFNGLBEGINTRANSFORMFEEDBACKPROC gl3wBeginTransformFeedback;
PFNGLENDTRANSFORMFEEDBACKPROC gl3wEndTransformFeedback;
PFNGLBINDBUFFERRANGEPROC gl3wBindBufferRange;
PFNGLBINDBUFFERBASEPROC gl3wBindBufferBase;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC gl3wTransformFeedbackVaryings;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC gl3wGetTransformFeedbackVarying;
PFNGLCLAMPCOLORPROC gl3wClampColor;
PFNGLBEGINCONDITIONALRENDERPROC gl3wBeginConditionalRender;
PFNGLENDCONDITIONALRENDERPROC gl3wEndConditionalRender;
PFNGLVERTEXATTRIBIPOINTERPROC gl3wVertexAttribIPointer;
PFNGLGETVERTEXATTRIBIIVPROC gl3wGetVertexAttribIiv;
PFNGLGETVERTEXATTRIBIUIVPROC gl3wGetVertexAttribIuiv;
PFNGLVERTEXATTRIBI1IPROC gl3wVertexAttribI1i;
PFNGLVERTEXATTRIBI2IPROC gl3wVertexAttribI2i;
PFNGLVERTEXATTRIBI3IPROC gl3wVertexAttribI3i;
PFNGLVERTEXATTRIBI4IPROC gl3wVertexAttribI4i;
PFNGLVERTEXATTRIBI1UIPROC gl3wVertexAttribI1ui;
PFNGLVERTEXATTRIBI2UIPROC gl3wVertexAttribI2ui;
PFNGLVERTEXATTRIBI3UIPROC gl3wVertexAttribI3ui;
PFNGLVERTEXATTRIBI4UIPROC gl3wVertexAttribI4ui;
PFNGLVERTEXATTRIBI1IVPROC gl3wVertexAttribI1iv;
PFNGLVERTEXATTRIBI2IVPROC gl3wVertexAttribI2iv;
PFNGLVERTEXATTRIBI3IVPROC gl3wVertexAttribI3iv;
PFNGLVERTEXATTRIBI4IVPROC gl3wVertexAttribI4iv;
PFNGLVERTEXATTRIBI1UIVPROC gl3wVertexAttribI1uiv;
PFNGLVERTEXATTRIBI2UIVPROC gl3wVertexAttribI2uiv;
PFNGLVERTEXATTRIBI3UIVPROC gl3wVertexAttribI3uiv;
PFNGLVERTEXATTRIBI4UIVPROC gl3wVertexAttribI4uiv;
PFNGLVERTEXATTRIBI4BVPROC gl3wVertexAttribI4bv;
PFNGLVERTEXATTRIBI4SVPROC gl3wVertexAttribI4sv;
PFNGLVERTEXATTRIBI4UBVPROC gl3wVertexAttribI4ubv;
PFNGLVERTEXATTRIBI4USVPROC gl3wVertexAttribI4usv;
PFNGLGETUNIFORMUIVPROC gl3wGetUniformuiv;
PFNGLBINDFRAGDATALOCATIONPROC gl3wBindFragDataLocation;
PFNGLGETFRAGDATALOCATIONPROC gl3wGetFragDataLocation;
PFNGLUNIFORM1UIPROC gl3wUniform1ui;
PFNGLUNIFORM2UIPROC gl3wUniform2ui;
PFNGLUNIFORM3UIPROC gl3wUniform3ui;
PFNGLUNIFORM4UIPROC gl3wUniform4ui;
PFNGLUNIFORM1UIVPROC gl3wUniform1uiv;
PFNGLUNIFORM2UIVPROC gl3wUniform2uiv;
PFNGLUNIFORM3UIVPROC gl3wUniform3uiv;
PFNGLUNIFORM4UIVPROC gl3wUniform4uiv;
PFNGLTEXPARAMETERIIVPROC gl3wTexParameterIiv;
PFNGLTEXPARAMETERIUIVPROC gl3wTexParameterIuiv;
PFNGLGETTEXPARAMETERIIVPROC gl3wGetTexParameterIiv;
PFNGLGETTEXPARAMETERIUIVPROC gl3wGetTexParameterIuiv;
PFNGLCLEARBUFFERIVPROC gl3wClearBufferiv;
PFNGLCLEARBUFFERUIVPROC gl3wClearBufferuiv;
PFNGLCLEARBUFFERFVPROC gl3wClearBufferfv;
PFNGLCLEARBUFFERFIPROC gl3wClearBufferfi;
PFNGLGETSTRINGIPROC gl3wGetStringi;
PFNGLISRENDERBUFFERPROC gl3wIsRenderbuffer;
PFNGLBINDRENDERBUFFERPROC gl3wBindRenderbuffer;
PFNGLDELETERENDERBUFFERSPROC gl3wDeleteRenderbuffers;
PFNGLGENRENDERBUFFERSPROC gl3wGenRenderbuffers;
PFNGLRENDERBUFFERSTORAGEPROC gl3wRenderbufferStorage;
PFNGLGETRENDERBUFFERPARAMETERIVPROC gl3wGetRenderbufferParameteriv;
PFNGLISFRAMEBUFFERPROC gl3wIsFramebuffer;
PFNGLBINDFRAMEBUFFERPROC gl3wBindFramebuffer;
PFNGLDELETEFRAMEBUFFERSPROC gl3wDeleteFramebuffers;
PFNGLGENFRAMEBUFFERSPROC gl3wGenFramebuffers;
PFNGLCHECKFRAMEBUFFERSTATUSPROC gl3wCheckFramebufferStatus;
PFNGLFRAMEBUFFERTEXTURE1DPROC gl3wFramebufferTexture1D;
PFNGLFRAMEBUFFERTEXTURE2DPROC gl3wFramebufferTexture2D;
PFNGLFRAMEBUFFERTEXTURE3DPROC gl3wFramebufferTexture3D;
PFNGLFRAMEBUFFERRENDERBUFFERPROC gl3wFramebufferRenderbuffer;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC gl3wGetFramebufferAttachmentParameteriv;
PFNGLGENERATEMIPMAPPROC gl3wGenerateMipmap;
PFNGLBLITFRAMEBUFFERPROC gl3wBlitFramebuffer;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC gl3wRenderbufferStorageMultisample;
PFNGLFRAMEBUFFERTEXTURELAYERPROC gl3wFramebufferTextureLayer;
PFNGLMAPBUFFERRANGEPROC gl3wMapBufferRange;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC gl3wFlushMappedBufferRange;
PFNGLBINDVERTEXARRAYPROC gl3wBindVertexArray;
PFNGLDELETEVERTEXARRAYSPROC gl3wDeleteVertexArrays;
PFNGLGENVERTEXARRAYSPROC gl3wGenVertexArrays;
PFNGLISVERTEXARRAYPROC gl3wIsVertexArray;
PFNGLDRAWARRAYSINSTANCEDPROC gl3wDrawArraysInstanced;
PFNGLDRAWELEMENTSINSTANCEDPROC gl3wDrawElementsInstanced;
PFNGLTEXBUFFERPROC gl3wTexBuffer;
PFNGLPRIMITIVERESTARTINDEXPROC gl3wPrimitiveRestartIndex;
PFNGLCOPYBUFFERSUBDATAPROC gl3wCopyBufferSubData;
PFNGLGETUNIFORMINDICESPROC gl3wGetUniformIndices;
PFNGLGETACTIVEUNIFORMSIVPROC gl3wGetActiveUniformsiv;
PFNGLGETACTIVEUNIFORMNAMEPROC gl3wGetActiveUniformName;
PFNGLGETUNIFORMBLOCKINDEXPROC gl3wGetUniformBlockIndex;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC gl3wGetActiveUniformBlockiv;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC gl3wGetActiveUniformBlockName;
PFNGLUNIFORMBLOCKBINDINGPROC gl3wUniformBlockBinding;
PFNGLDRAWELEMENTSBASEVERTEXPROC gl3wDrawElementsBaseVertex;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC gl3wDrawRangeElementsBaseVertex;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC gl3wDrawElementsInstancedBaseVertex;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC gl3wMultiDrawElementsBaseVertex;
PFNGLPROVOKINGVERTEXPROC gl3wProvokingVertex;
PFNGLFENCESYNCPROC gl3wFenceSync;
PFNGLISSYNCPROC gl3wIsSync;
PFNGLDELETESYNCPROC gl3wDeleteSync;
PFNGLCLIENTWAITSYNCPROC gl3wClientWaitSync;
PFNGLWAITSYNCPROC gl3wWaitSync;
PFNGLGETINTEGER64VPROC gl3wGetInteger64v;
PFNGLGETSYNCIVPROC gl3wGetSynciv;
PFNGLGETINTEGER64I_VPROC gl3wGetInteger64i_v;
PFNGLGETBUFFERPARAMETERI64VPROC gl3wGetBufferParameteri64v;
PFNGLFRAMEBUFFERTEXTUREPROC gl3wFramebufferTexture;
PFNGLTEXIMAGE2DMULTISAMPLEPROC gl3wTexImage2DMultisample;
PFNGLTEXIMAGE3DMULTISAMPLEPROC gl3wTexImage3DMultisample;
PFNGLGETMULTISAMPLEFVPROC gl3wGetMultisamplefv;
PFNGLSAMPLEMASKIPROC gl3wSampleMaski;
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC gl3wBindFragDataLocationIndexed;
PFNGLGETFRAGDATAINDEXPROC gl3wGetFragDataIndex;
PFNGLGENSAMPLERSPROC gl3wGenSamplers;
PFNGLDELETESAMPLERSPROC gl3wDeleteSamplers;
PFNGLISSAMPLERPROC gl3wIsSampler;
PFNGLBINDSAMPLERPROC gl3wBindSampler;
PFNGLSAMPLERPARAMETERIPROC gl3wSamplerParameteri;
PFNGLSAMPLERPARAMETERIVPROC gl3wSamplerParameteriv;
PFNGLSAMPLERPARAMETERFPROC gl3wSamplerParameterf;
PFNGLSAMPLERPARAMETERFVPROC gl3wSamplerParameterfv;
PFNGLSAMPLERPARAMETERIIVPROC gl3wSamplerParameterIiv;
PFNGLSAMPLERPARAMETERIUIVPROC gl3wSamplerParameterIuiv;
PFNGLGETSAMPLERPARAMETERIVPROC gl3wGetSamplerParameteriv;
PFNGLGETSAMPLERPARAMETERIIVPROC gl3wGetSamplerParameterIiv;
PFNGLGETSAMPLERPARAMETERFVPROC gl3wGetSamplerParameterfv;
PFNGLGETSAMPLERPARAMETERIUIVPROC gl3wGetSamplerParameterIuiv;
PFNGLQUERYCOUNTERPROC gl3wQueryCounter;
PFNGLGETQUERYOBJECTI64VPROC gl3wGetQueryObjecti64v;
PFNGLGETQUERYOBJECTUI64VPROC gl3wGetQueryObjectui64v;
PFNGLVERTEXATTRIBDIVISORPROC gl3wVertexAttribDivisor;
PFNGLVERTEXATTRIBP1UIPROC gl3wVertexAttribP1ui;
PFNGLVERTEXATTRIBP1UIVPROC gl3wVertexAttribP1uiv;
PFNGLVERTEXATTRIBP2UIPROC gl3wVertexAttribP2ui;
PFNGLVERTEXATTRIBP2UIVPROC gl3wVertexAttribP2uiv;
PFNGLVERTEXATTRIBP3UIPROC gl3wVertexAttribP3ui;
PFNGLVERTEXATTRIBP3UIVPROC gl3wVertexAttribP3uiv;
PFNGLVERTEXATTRIBP4UIPROC gl3wVertexAttribP4ui;
PFNGLVERTEXATTRIBP4UIVPROC gl3wVertexAttribP4uiv;
PFNGLMINSAMPLESHADINGPROC gl3wMinSampleShading;
PFNGLBLENDEQUATIONIPROC gl3wBlendEquationi;
PFNGLBLENDEQUATIONSEPARATEIPROC gl3wBlendEquationSeparatei;
PFNGLBLENDFUNCIPROC gl3wBlendFunci;
PFNGLBLENDFUNCSEPARATEIPROC gl3wBlendFuncSeparatei;
PFNGLDRAWARRAYSINDIRECTPROC gl3wDrawArraysIndirect;
PFNGLDRAWELEMENTSINDIRECTPROC gl3wDrawElementsIndirect;
PFNGLUNIFORM1DPROC gl3wUniform1d;
PFNGLUNIFORM2DPROC gl3wUniform2d;
PFNGLUNIFORM3DPROC gl3wUniform3d;
PFNGLUNIFORM4DPROC gl3wUniform4d;
PFNGLUNIFORM1DVPROC gl3wUniform1dv;
PFNGLUNIFORM2DVPROC gl3wUniform2dv;
PFNGLUNIFORM3DVPROC gl3wUniform3dv;
PFNGLUNIFORM4DVPROC gl3wUniform4dv;
PFNGLUNIFORMMATRIX2DVPROC gl3wUniformMatrix2dv;
PFNGLUNIFORMMATRIX3DVPROC gl3wUniformMatrix3dv;
PFNGLUNIFORMMATRIX4DVPROC gl3wUniformMatrix4dv;
PFNGLUNIFORMMATRIX2X3DVPROC gl3wUniformMatrix2x3dv;
PFNGLUNIFORMMATRIX2X4DVPROC gl3wUniformMatrix2x4dv;
PFNGLUNIFORMMATRIX3X2DVPROC gl3wUniformMatrix3x2dv;
PFNGLUNIFORMMATRIX3X4DVPROC gl3wUniformMatrix3x4dv;
PFNGLUNIFORMMATRIX4X2DVPROC gl3wUniformMatrix4x2dv;
PFNGLUNIFORMMATRIX4X3DVPROC gl3wUniformMatrix4x3dv;
PFNGLGETUNIFORMDVPROC gl3wGetUniformdv;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC gl3wGetSubroutineUniformLocation;
PFNGLGETSUBROUTINEINDEXPROC gl3wGetSubroutineIndex;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC gl3wGetActiveSubroutineUniformiv;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC gl3wGetActiveSubroutineUniformName;
PFNGLGETACTIVESUBROUTINENAMEPROC gl3wGetActiveSubroutineName;
PFNGLUNIFORMSUBROUTINESUIVPROC gl3wUniformSubroutinesuiv;
PFNGLGETUNIFORMSUBROUTINEUIVPROC gl3wGetUniformSubroutineuiv;
PFNGLGETPROGRAMSTAGEIVPROC gl3wGetProgramStageiv;
PFNGLPATCHPARAMETERIPROC gl3wPatchParameteri;
PFNGLPATCHPARAMETERFVPROC gl3wPatchParameterfv;
PFNGLBINDTRANSFORMFEEDBACKPROC gl3wBindTransformFeedback;
PFNGLDELETETRANSFORMFEEDBACKSPROC gl3wDeleteTransformFeedbacks;
PFNGLGENTRANSFORMFEEDBACKSPROC gl3wGenTransformFeedbacks;
PFNGLISTRANSFORMFEEDBACKPROC gl3wIsTransformFeedback;
PFNGLPAUSETRANSFORMFEEDBACKPROC gl3wPauseTransformFeedback;
PFNGLRESUMETRANSFORMFEEDBACKPROC gl3wResumeTransformFeedback;
PFNGLDRAWTRANSFORMFEEDBACKPROC gl3wDrawTransformFeedback;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC gl3wDrawTransformFeedbackStream;
PFNGLBEGINQUERYINDEXEDPROC gl3wBeginQueryIndexed;
PFNGLENDQUERYINDEXEDPROC gl3wEndQueryIndexed;
PFNGLGETQUERYINDEXEDIVPROC gl3wGetQueryIndexediv;
PFNGLRELEASESHADERCOMPILERPROC gl3wReleaseShaderCompiler;
PFNGLSHADERBINARYPROC gl3wShaderBinary;
PFNGLGETSHADERPRECISIONFORMATPROC gl3wGetShaderPrecisionFormat;
PFNGLDEPTHRANGEFPROC gl3wDepthRangef;
PFNGLCLEARDEPTHFPROC gl3wClearDepthf;
PFNGLGETPROGRAMBINARYPROC gl3wGetProgramBinary;
PFNGLPROGRAMBINARYPROC gl3wProgramBinary;
PFNGLPROGRAMPARAMETERIPROC gl3wProgramParameteri;
PFNGLUSEPROGRAMSTAGESPROC gl3wUseProgramStages;
PFNGLACTIVESHADERPROGRAMPROC gl3wActiveShaderProgram;
PFNGLCREATESHADERPROGRAMVPROC gl3wCreateShaderProgramv;
PFNGLBINDPROGRAMPIPELINEPROC gl3wBindProgramPipeline;
PFNGLDELETEPROGRAMPIPELINESPROC gl3wDeleteProgramPipelines;
PFNGLGENPROGRAMPIPELINESPROC gl3wGenProgramPipelines;
PFNGLISPROGRAMPIPELINEPROC gl3wIsProgramPipeline;
PFNGLGETPROGRAMPIPELINEIVPROC gl3wGetProgramPipelineiv;
PFNGLPROGRAMUNIFORM1IPROC gl3wProgramUniform1i;
PFNGLPROGRAMUNIFORM1IVPROC gl3wProgramUniform1iv;
PFNGLPROGRAMUNIFORM1FPROC gl3wProgramUniform1f;
PFNGLPROGRAMUNIFORM1FVPROC gl3wProgramUniform1fv;
PFNGLPROGRAMUNIFORM1DPROC gl3wProgramUniform1d;
PFNGLPROGRAMUNIFORM1DVPROC gl3wProgramUniform1dv;
PFNGLPROGRAMUNIFORM1UIPROC gl3wProgramUniform1ui;
PFNGLPROGRAMUNIFORM1UIVPROC gl3wProgramUniform1uiv;
PFNGLPROGRAMUNIFORM2IPROC gl3wProgramUniform2i;
PFNGLPROGRAMUNIFORM2IVPROC gl3wProgramUniform2iv;
PFNGLPROGRAMUNIFORM2FPROC gl3wProgramUniform2f;
PFNGLPROGRAMUNIFORM2FVPROC gl3wProgramUniform2fv;
PFNGLPROGRAMUNIFORM2DPROC gl3wProgramUniform2d;
PFNGLPROGRAMUNIFORM2DVPROC gl3wProgramUniform2dv;
PFNGLPROGRAMUNIFORM2UIPROC gl3wProgramUniform2ui;
PFNGLPROGRAMUNIFORM2UIVPROC gl3wProgramUniform2uiv;
PFNGLPROGRAMUNIFORM3IPROC gl3wProgramUniform3i;
PFNGLPROGRAMUNIFORM3IVPROC gl3wProgramUniform3iv;
PFNGLPROGRAMUNIFORM3FPROC gl3wProgramUniform3f;
PFNGLPROGRAMUNIFORM3FVPROC gl3wProgramUniform3fv;
PFNGLPROGRAMUNIFORM3DPROC gl3wProgramUniform3d;
PFNGLPROGRAMUNIFORM3DVPROC gl3wProgramUniform3dv;
PFNGLPROGRAMUNIFORM3UIPROC gl3wProgramUniform3ui;
PFNGLPROGRAMUNIFORM3UIVPROC gl3wProgramUniform3uiv;
PFNGLPROGRAMUNIFORM4IPROC gl3wProgramUniform4i;
PFNGLPROGRAMUNIFORM4IVPROC gl3wProgramUniform4iv;
PFNGLPROGRAMUNIFORM4FPROC gl3wProgramUniform4f;
PFNGLPROGRAMUNIFORM4FVPROC gl3wProgramUniform4fv;
PFNGLPROGRAMUNIFORM4DPROC gl3wProgramUniform4d;
PFNGLPROGRAMUNIFORM4DVPROC gl3wProgramUniform4dv;
PFNGLPROGRAMUNIFORM4UIPROC gl3wProgramUniform4ui;
PFNGLPROGRAMUNIFORM4UIVPROC gl3wProgramUniform4uiv;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC gl3wProgramUniformMatrix2fv;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC gl3wProgramUniformMatrix3fv;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC gl3wProgramUniformMatrix4fv;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC gl3wProgramUniformMatrix2dv;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC gl3wProgramUniformMatrix3dv;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC gl3wProgramUniformMatrix4dv;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC gl3wProgramUniformMatrix2x3fv;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC gl3wProgramUniformMatrix3x2fv;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC gl3wProgramUniformMatrix2x4fv;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC gl3wProgramUniformMatrix4x2fv;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC gl3wProgramUniformMatrix3x4fv;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC gl3wProgramUniformMatrix4x3fv;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC gl3wProgramUniformMatrix2x3dv;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC gl3wProgramUniformMatrix3x2dv;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC gl3wProgramUniformMatrix2x4dv;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC gl3wProgramUniformMatrix4x2dv;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC gl3wProgramUniformMatrix3x4dv;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC gl3wProgramUniformMatrix4x3dv;
PFNGLVALIDATEPROGRAMPIPELINEPROC gl3wValidateProgramPipeline;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC gl3wGetProgramPipelineInfoLog;
PFNGLVERTEXATTRIBL1DPROC gl3wVertexAttribL1d;
PFNGLVERTEXATTRIBL2DPROC gl3wVertexAttribL2d;
PFNGLVERTEXATTRIBL3DPROC gl3wVertexAttribL3d;
PFNGLVERTEXATTRIBL4DPROC gl3wVertexAttribL4d;
PFNGLVERTEXATTRIBL1DVPROC gl3wVertexAttribL1dv;
PFNGLVERTEXATTRIBL2DVPROC gl3wVertexAttribL2dv;
PFNGLVERTEXATTRIBL3DVPROC gl3wVertexAttribL3dv;
PFNGLVERTEXATTRIBL4DVPROC gl3wVertexAttribL4dv;
PFNGLVERTEXATTRIBLPOINTERPROC gl3wVertexAttribLPointer;
PFNGLGETVERTEXATTRIBLDVPROC gl3wGetVertexAttribLdv;
PFNGLVIEWPORTARRAYVPROC gl3wViewportArrayv;
PFNGLVIEWPORTINDEXEDFPROC gl3wViewportIndexedf;
PFNGLVIEWPORTINDEXEDFVPROC gl3wViewportIndexedfv;
PFNGLSCISSORARRAYVPROC gl3wScissorArrayv;
PFNGLSCISSORINDEXEDPROC gl3wScissorIndexed;
PFNGLSCISSORINDEXEDVPROC gl3wScissorIndexedv;
PFNGLDEPTHRANGEARRAYVPROC gl3wDepthRangeArrayv;
PFNGLDEPTHRANGEINDEXEDPROC gl3wDepthRangeIndexed;
PFNGLGETFLOATI_VPROC gl3wGetFloati_v;
PFNGLGETDOUBLEI_VPROC gl3wGetDoublei_v;
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC gl3wDrawArraysInstancedBaseInstance;
PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC gl3wDrawElementsInstancedBaseInstance;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC gl3wDrawElementsInstancedBaseVertexBaseInstance;
PFNGLGETINTERNALFORMATIVPROC gl3wGetInternalformativ;
PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC gl3wGetActiveAtomicCounterBufferiv;
PFNGLBINDIMAGETEXTUREPROC gl3wBindImageTexture;
PFNGLMEMORYBARRIERPROC gl3wMemoryBarrier;
PFNGLTEXSTORAGE1DPROC gl3wTexStorage1D;
PFNGLTEXSTORAGE2DPROC gl3wTexStorage2D;
PFNGLTEXSTORAGE3DPROC gl3wTexStorage3D;
PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC gl3wDrawTransformFeedbackInstanced;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC gl3wDrawTransformFeedbackStreamInstanced;
PFNGLCLEARBUFFERDATAPROC gl3wClearBufferData;
PFNGLCLEARBUFFERSUBDATAPROC gl3wClearBufferSubData;
PFNGLDISPATCHCOMPUTEPROC gl3wDispatchCompute;
PFNGLDISPATCHCOMPUTEINDIRECTPROC gl3wDispatchComputeIndirect;
PFNGLCOPYIMAGESUBDATAPROC gl3wCopyImageSubData;
PFNGLFRAMEBUFFERPARAMETERIPROC gl3wFramebufferParameteri;
PFNGLGETFRAMEBUFFERPARAMETERIVPROC gl3wGetFramebufferParameteriv;
PFNGLGETINTERNALFORMATI64VPROC gl3wGetInternalformati64v;
PFNGLINVALIDATETEXSUBIMAGEPROC gl3wInvalidateTexSubImage;
PFNGLINVALIDATETEXIMAGEPROC gl3wInvalidateTexImage;
PFNGLINVALIDATEBUFFERSUBDATAPROC gl3wInvalidateBufferSubData;
PFNGLINVALIDATEBUFFERDATAPROC gl3wInvalidateBufferData;
PFNGLINVALIDATEFRAMEBUFFERPROC gl3wInvalidateFramebuffer;
PFNGLINVALIDATESUBFRAMEBUFFERPROC gl3wInvalidateSubFramebuffer;
PFNGLMULTIDRAWARRAYSINDIRECTPROC gl3wMultiDrawArraysIndirect;
PFNGLMULTIDRAWELEMENTSINDIRECTPROC gl3wMultiDrawElementsIndirect;
PFNGLGETPROGRAMINTERFACEIVPROC gl3wGetProgramInterfaceiv;
PFNGLGETPROGRAMRESOURCEINDEXPROC gl3wGetProgramResourceIndex;
PFNGLGETPROGRAMRESOURCENAMEPROC gl3wGetProgramResourceName;
PFNGLGETPROGRAMRESOURCEIVPROC gl3wGetProgramResourceiv;
PFNGLGETPROGRAMRESOURCELOCATIONPROC gl3wGetProgramResourceLocation;
PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC gl3wGetProgramResourceLocationIndex;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC gl3wShaderStorageBlockBinding;
PFNGLTEXBUFFERRANGEPROC gl3wTexBufferRange;
PFNGLTEXSTORAGE2DMULTISAMPLEPROC gl3wTexStorage2DMultisample;
PFNGLTEXSTORAGE3DMULTISAMPLEPROC gl3wTexStorage3DMultisample;
PFNGLTEXTUREVIEWPROC gl3wTextureView;
PFNGLBINDVERTEXBUFFERPROC gl3wBindVertexBuffer;
PFNGLVERTEXATTRIBFORMATPROC gl3wVertexAttribFormat;
PFNGLVERTEXATTRIBIFORMATPROC gl3wVertexAttribIFormat;
PFNGLVERTEXATTRIBLFORMATPROC gl3wVertexAttribLFormat;
PFNGLVERTEXATTRIBBINDINGPROC gl3wVertexAttribBinding;
PFNGLVERTEXBINDINGDIVISORPROC gl3wVertexBindingDivisor;
PFNGLDEBUGMESSAGECONTROLPROC gl3wDebugMessageControl;
PFNGLDEBUGMESSAGEINSERTPROC gl3wDebugMessageInsert;
PFNGLDEBUGMESSAGECALLBACKPROC gl3wDebugMessageCallback;
PFNGLGETDEBUGMESSAGELOGPROC gl3wGetDebugMessageLog;
PFNGLPUSHDEBUGGROUPPROC gl3wPushDebugGroup;
PFNGLPOPDEBUGGROUPPROC gl3wPopDebugGroup;
PFNGLOBJECTLABELPROC gl3wObjectLabel;
PFNGLGETOBJECTLABELPROC gl3wGetObjectLabel;
PFNGLOBJECTPTRLABELPROC gl3wObjectPtrLabel;
PFNGLGETOBJECTPTRLABELPROC gl3wGetObjectPtrLabel;
PFNGLBUFFERSTORAGEPROC gl3wBufferStorage;
PFNGLCLEARTEXIMAGEPROC gl3wClearTexImage;
PFNGLCLEARTEXSUBIMAGEPROC gl3wClearTexSubImage;
PFNGLBINDBUFFERSBASEPROC gl3wBindBuffersBase;
PFNGLBINDBUFFERSRANGEPROC gl3wBindBuffersRange;
PFNGLBINDTEXTURESPROC gl3wBindTextures;
PFNGLBINDSAMPLERSPROC gl3wBindSamplers;
PFNGLBINDIMAGETEXTURESPROC gl3wBindImageTextures;
PFNGLBINDVERTEXBUFFERSPROC gl3wBindVertexBuffers;
PFNGLCLIPCONTROLPROC gl3wClipControl;
PFNGLCREATETRANSFORMFEEDBACKSPROC gl3wCreateTransformFeedbacks;
PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC gl3wTransformFeedbackBufferBase;
PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC gl3wTransformFeedbackBufferRange;
PFNGLGETTRANSFORMFEEDBACKIVPROC gl3wGetTransformFeedbackiv;
PFNGLGETTRANSFORMFEEDBACKI_VPROC gl3wGetTransformFeedbacki_v;
PFNGLGETTRANSFORMFEEDBACKI64_VPROC gl3wGetTransformFeedbacki64_v;
PFNGLCREATEBUFFERSPROC gl3wCreateBuffers;
PFNGLNAMEDBUFFERSTORAGEPROC gl3wNamedBufferStorage;
PFNGLNAMEDBUFFERDATAPROC gl3wNamedBufferData;
PFNGLNAMEDBUFFERSUBDATAPROC gl3wNamedBufferSubData;
PFNGLCOPYNAMEDBUFFERSUBDATAPROC gl3wCopyNamedBufferSubData;
PFNGLCLEARNAMEDBUFFERDATAPROC gl3wClearNamedBufferData;
PFNGLCLEARNAMEDBUFFERSUBDATAPROC gl3wClearNamedBufferSubData;
PFNGLMAPNAMEDBUFFERPROC gl3wMapNamedBuffer;
PFNGLMAPNAMEDBUFFERRANGEPROC gl3wMapNamedBufferRange;
PFNGLUNMAPNAMEDBUFFERPROC gl3wUnmapNamedBuffer;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC gl3wFlushMappedNamedBufferRange;
PFNGLGETNAMEDBUFFERPARAMETERIVPROC gl3wGetNamedBufferParameteriv;
PFNGLGETNAMEDBUFFERPARAMETERI64VPROC gl3wGetNamedBufferParameteri64v;
PFNGLGETNAMEDBUFFERPOINTERVPROC gl3wGetNamedBufferPointerv;
PFNGLGETNAMEDBUFFERSUBDATAPROC gl3wGetNamedBufferSubData;
PFNGLCREATEFRAMEBUFFERSPROC gl3wCreateFramebuffers;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC gl3wNamedFramebufferRenderbuffer;
PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC gl3wNamedFramebufferParameteri;
PFNGLNAMEDFRAMEBUFFERTEXTUREPROC gl3wNamedFramebufferTexture;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC gl3wNamedFramebufferTextureLayer;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC gl3wNamedFramebufferDrawBuffer;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC gl3wNamedFramebufferDrawBuffers;
PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC gl3wNamedFramebufferReadBuffer;
PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC gl3wInvalidateNamedFramebufferData;
PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC gl3wInvalidateNamedFramebufferSubData;
PFNGLCLEARNAMEDFRAMEBUFFERIVPROC gl3wClearNamedFramebufferiv;
PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC gl3wClearNamedFramebufferuiv;
PFNGLCLEARNAMEDFRAMEBUFFERFVPROC gl3wClearNamedFramebufferfv;
PFNGLCLEARNAMEDFRAMEBUFFERFIPROC gl3wClearNamedFramebufferfi;
PFNGLBLITNAMEDFRAMEBUFFERPROC gl3wBlitNamedFramebuffer;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC gl3wCheckNamedFramebufferStatus;
PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC gl3wGetNamedFramebufferParameteriv;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC gl3wGetNamedFramebufferAttachmentParameteriv;
PFNGLCREATERENDERBUFFERSPROC gl3wCreateRenderbuffers;
PFNGLNAMEDRENDERBUFFERSTORAGEPROC gl3wNamedRenderbufferStorage;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC gl3wNamedRenderbufferStorageMultisample;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC gl3wGetNamedRenderbufferParameteriv;
PFNGLCREATETEXTURESPROC gl3wCreateTextures;
PFNGLTEXTUREBUFFERPROC gl3wTextureBuffer;
PFNGLTEXTUREBUFFERRANGEPROC gl3wTextureBufferRange;
PFNGLTEXTURESTORAGE1DPROC gl3wTextureStorage1D;
PFNGLTEXTURESTORAGE2DPROC gl3wTextureStorage2D;
PFNGLTEXTURESTORAGE3DPROC gl3wTextureStorage3D;
PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC gl3wTextureStorage2DMultisample;
PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC gl3wTextureStorage3DMultisample;
PFNGLTEXTURESUBIMAGE1DPROC gl3wTextureSubImage1D;
PFNGLTEXTURESUBIMAGE2DPROC gl3wTextureSubImage2D;
PFNGLTEXTURESUBIMAGE3DPROC gl3wTextureSubImage3D;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC gl3wCompressedTextureSubImage1D;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC gl3wCompressedTextureSubImage2D;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC gl3wCompressedTextureSubImage3D;
PFNGLCOPYTEXTURESUBIMAGE1DPROC gl3wCopyTextureSubImage1D;
PFNGLCOPYTEXTURESUBIMAGE2DPROC gl3wCopyTextureSubImage2D;
PFNGLCOPYTEXTURESUBIMAGE3DPROC gl3wCopyTextureSubImage3D;
PFNGLTEXTUREPARAMETERFPROC gl3wTextureParameterf;
PFNGLTEXTUREPARAMETERFVPROC gl3wTextureParameterfv;
PFNGLTEXTUREPARAMETERIPROC gl3wTextureParameteri;
PFNGLTEXTUREPARAMETERIIVPROC gl3wTextureParameterIiv;
PFNGLTEXTUREPARAMETERIUIVPROC gl3wTextureParameterIuiv;
PFNGLTEXTUREPARAMETERIVPROC gl3wTextureParameteriv;
PFNGLGENERATETEXTUREMIPMAPPROC gl3wGenerateTextureMipmap;
PFNGLBINDTEXTUREUNITPROC gl3wBindTextureUnit;
PFNGLGETTEXTUREIMAGEPROC gl3wGetTextureImage;
PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC gl3wGetCompressedTextureImage;
PFNGLGETTEXTURELEVELPARAMETERFVPROC gl3wGetTextureLevelParameterfv;
PFNGLGETTEXTURELEVELPARAMETERIVPROC gl3wGetTextureLevelParameteriv;
PFNGLGETTEXTUREPARAMETERFVPROC gl3wGetTextureParameterfv;
PFNGLGETTEXTUREPARAMETERIIVPROC gl3wGetTextureParameterIiv;
PFNGLGETTEXTUREPARAMETERIUIVPROC gl3wGetTextureParameterIuiv;
PFNGLGETTEXTUREPARAMETERIVPROC gl3wGetTextureParameteriv;
PFNGLCREATEVERTEXARRAYSPROC gl3wCreateVertexArrays;
PFNGLDISABLEVERTEXARRAYATTRIBPROC gl3wDisableVertexArrayAttrib;
PFNGLENABLEVERTEXARRAYATTRIBPROC gl3wEnableVertexArrayAttrib;
PFNGLVERTEXARRAYELEMENTBUFFERPROC gl3wVertexArrayElementBuffer;
PFNGLVERTEXARRAYVERTEXBUFFERPROC gl3wVertexArrayVertexBuffer;
PFNGLVERTEXARRAYVERTEXBUFFERSPROC gl3wVertexArrayVertexBuffers;
PFNGLVERTEXARRAYATTRIBBINDINGPROC gl3wVertexArrayAttribBinding;
PFNGLVERTEXARRAYATTRIBFORMATPROC gl3wVertexArrayAttribFormat;
PFNGLVERTEXARRAYATTRIBIFORMATPROC gl3wVertexArrayAttribIFormat;
PFNGLVERTEXARRAYATTRIBLFORMATPROC gl3wVertexArrayAttribLFormat;
PFNGLVERTEXARRAYBINDINGDIVISORPROC gl3wVertexArrayBindingDivisor;
PFNGLGETVERTEXARRAYIVPROC gl3wGetVertexArrayiv;
PFNGLGETVERTEXARRAYINDEXEDIVPROC gl3wGetVertexArrayIndexediv;
PFNGLGETVERTEXARRAYINDEXED64IVPROC gl3wGetVertexArrayIndexed64iv;
PFNGLCREATESAMPLERSPROC gl3wCreateSamplers;
PFNGLCREATEPROGRAMPIPELINESPROC gl3wCreateProgramPipelines;
PFNGLCREATEQUERIESPROC gl3wCreateQueries;
PFNGLGETQUERYBUFFEROBJECTI64VPROC gl3wGetQueryBufferObjecti64v;
PFNGLGETQUERYBUFFEROBJECTIVPROC gl3wGetQueryBufferObjectiv;
PFNGLGETQUERYBUFFEROBJECTUI64VPROC gl3wGetQueryBufferObjectui64v;
PFNGLGETQUERYBUFFEROBJECTUIVPROC gl3wGetQueryBufferObjectuiv;
PFNGLMEMORYBARRIERBYREGIONPROC gl3wMemoryBarrierByRegion;
PFNGLGETTEXTURESUBIMAGEPROC gl3wGetTextureSubImage;
PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC gl3wGetCompressedTextureSubImage;
PFNGLGETGRAPHICSRESETSTATUSPROC gl3wGetGraphicsResetStatus;
PFNGLGETNCOMPRESSEDTEXIMAGEPROC gl3wGetnCompressedTexImage;
PFNGLGETNTEXIMAGEPROC gl3wGetnTexImage;
PFNGLGETNUNIFORMDVPROC gl3wGetnUniformdv;
PFNGLGETNUNIFORMFVPROC gl3wGetnUniformfv;
PFNGLGETNUNIFORMIVPROC gl3wGetnUniformiv;
PFNGLGETNUNIFORMUIVPROC gl3wGetnUniformuiv;
PFNGLREADNPIXELSPROC gl3wReadnPixels;
PFNGLTEXTUREBARRIERPROC gl3wTextureBarrier;
PFNGLSPECIALIZESHADERPROC gl3wSpecializeShader;
PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC gl3wMultiDrawArraysIndirectCount;
PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC gl3wMultiDrawElementsIndirectCount;
PFNGLPOLYGONOFFSETCLAMPPROC gl3wPolygonOffsetClamp;
PFNGLPRIMITIVEBOUNDINGBOXARBPROC gl3wPrimitiveBoundingBoxARB;
PFNGLGETTEXTUREHANDLEARBPROC gl3wGetTextureHandleARB;
PFNGLGETTEXTURESAMPLERHANDLEARBPROC gl3wGetTextureSamplerHandleARB;
PFNGLMAKETEXTUREHANDLERESIDENTARBPROC gl3wMakeTextureHandleResidentARB;
PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC gl3wMakeTextureHandleNonResidentARB;
PFNGLGETIMAGEHANDLEARBPROC gl3wGetImageHandleARB;
PFNGLMAKEIMAGEHANDLERESIDENTARBPROC gl3wMakeImageHandleResidentARB;
PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC gl3wMakeImageHandleNonResidentARB;
PFNGLUNIFORMHANDLEUI64ARBPROC gl3wUniformHandleui64ARB;
PFNGLUNIFORMHANDLEUI64VARBPROC gl3wUniformHandleui64vARB;
PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC gl3wProgramUniformHandleui64ARB;
PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC gl3wProgramUniformHandleui64vARB;
PFNGLISTEXTUREHANDLERESIDENTARBPROC gl3wIsTextureHandleResidentARB;
PFNGLISIMAGEHANDLERESIDENTARBPROC gl3wIsImageHandleResidentARB;
PFNGLVERTEXATTRIBL1UI64ARBPROC gl3wVertexAttribL1ui64ARB;
PFNGLVERTEXATTRIBL1UI64VARBPROC gl3wVertexAttribL1ui64vARB;
PFNGLGETVERTEXATTRIBLUI64VARBPROC gl3wGetVertexAttribLui64vARB;
PFNGLCREATESYNCFROMCLEVENTARBPROC gl3wCreateSyncFromCLeventARB;
PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC gl3wDispatchComputeGroupSizeARB;
PFNGLDEBUGMESSAGECONTROLARBPROC gl3wDebugMessageControlARB;
PFNGLDEBUGMESSAGEINSERTARBPROC gl3wDebugMessageInsertARB;
PFNGLDEBUGMESSAGECALLBACKARBPROC gl3wDebugMessageCallbackARB;
PFNGLGETDEBUGMESSAGELOGARBPROC gl3wGetDebugMessageLogARB;
PFNGLBLENDEQUATIONIARBPROC gl3wBlendEquationiARB;
PFNGLBLENDEQUATIONSEPARATEIARBPROC gl3wBlendEquationSeparateiARB;
PFNGLBLENDFUNCIARBPROC gl3wBlendFunciARB;
PFNGLBLENDFUNCSEPARATEIARBPROC gl3wBlendFuncSeparateiARB;
PFNGLDRAWARRAYSINSTANCEDARBPROC gl3wDrawArraysInstancedARB;
PFNGLDRAWELEMENTSINSTANCEDARBPROC gl3wDrawElementsInstancedARB;
PFNGLPROGRAMPARAMETERIARBPROC gl3wProgramParameteriARB;
PFNGLFRAMEBUFFERTEXTUREARBPROC gl3wFramebufferTextureARB;
PFNGLFRAMEBUFFERTEXTURELAYERARBPROC gl3wFramebufferTextureLayerARB;
PFNGLFRAMEBUFFERTEXTUREFACEARBPROC gl3wFramebufferTextureFaceARB;
PFNGLSPECIALIZESHADERARBPROC gl3wSpecializeShaderARB;
PFNGLUNIFORM1I64ARBPROC gl3wUniform1i64ARB;
PFNGLUNIFORM2I64ARBPROC gl3wUniform2i64ARB;
PFNGLUNIFORM3I64ARBPROC gl3wUniform3i64ARB;
PFNGLUNIFORM4I64ARBPROC gl3wUniform4i64ARB;
PFNGLUNIFORM1I64VARBPROC gl3wUniform1i64vARB;
PFNGLUNIFORM2I64VARBPROC gl3wUniform2i64vARB;
PFNGLUNIFORM3I64VARBPROC gl3wUniform3i64vARB;
PFNGLUNIFORM4I64VARBPROC gl3wUniform4i64vARB;
PFNGLUNIFORM1UI64ARBPROC gl3wUniform1ui64ARB;
PFNGLUNIFORM2UI64ARBPROC gl3wUniform2ui64ARB;
PFNGLUNIFORM3UI64ARBPROC gl3wUniform3ui64ARB;
PFNGLUNIFORM4UI64ARBPROC gl3wUniform4ui64ARB;
PFNGLUNIFORM1UI64VARBPROC gl3wUniform1ui64vARB;
PFNGLUNIFORM2UI64VARBPROC gl3wUniform2ui64vARB;
PFNGLUNIFORM3UI64VARBPROC gl3wUniform3ui64vARB;
PFNGLUNIFORM4UI64VARBPROC gl3wUniform4ui64vARB;
PFNGLGETUNIFORMI64VARBPROC gl3wGetUniformi64vARB;
PFNGLGETUNIFORMUI64VARBPROC gl3wGetUniformui64vARB;
PFNGLGETNUNIFORMI64VARBPROC gl3wGetnUniformi64vARB;
PFNGLGETNUNIFORMUI64VARBPROC gl3wGetnUniformui64vARB;
PFNGLPROGRAMUNIFORM1I64ARBPROC gl3wProgramUniform1i64ARB;
PFNGLPROGRAMUNIFORM2I64ARBPROC gl3wProgramUniform2i64ARB;
PFNGLPROGRAMUNIFORM3I64ARBPROC gl3wProgramUniform3i64ARB;
PFNGLPROGRAMUNIFORM4I64ARBPROC gl3wProgramUniform4i64ARB;
PFNGLPROGRAMUNIFORM1I64VARBPROC gl3wProgramUniform1i64vARB;
PFNGLPROGRAMUNIFORM2I64VARBPROC gl3wProgramUniform2i64vARB;
PFNGLPROGRAMUNIFORM3I64VARBPROC gl3wProgramUniform3i64vARB;
PFNGLPROGRAMUNIFORM4I64VARBPROC gl3wProgramUniform4i64vARB;
PFNGLPROGRAMUNIFORM1UI64ARBPROC gl3wProgramUniform1ui64ARB;
PFNGLPROGRAMUNIFORM2UI64ARBPROC gl3wProgramUniform2ui64ARB;
PFNGLPROGRAMUNIFORM3UI64ARBPROC gl3wProgramUniform3ui64ARB;
PFNGLPROGRAMUNIFORM4UI64ARBPROC gl3wProgramUniform4ui64ARB;
PFNGLPROGRAMUNIFORM1UI64VARBPROC gl3wProgramUniform1ui64vARB;
PFNGLPROGRAMUNIFORM2UI64VARBPROC gl3wProgramUniform2ui64vARB;
PFNGLPROGRAMUNIFORM3UI64VARBPROC gl3wProgramUniform3ui64vARB;
PFNGLPROGRAMUNIFORM4UI64VARBPROC gl3wProgramUniform4ui64vARB;
PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC gl3wMultiDrawArraysIndirectCountARB;
PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC gl3wMultiDrawElementsIndirectCountARB;
PFNGLVERTEXATTRIBDIVISORARBPROC gl3wVertexAttribDivisorARB;
PFNGLMAXSHADERCOMPILERTHREADSARBPROC gl3wMaxShaderCompilerThreadsARB;
PFNGLGETGRAPHICSRESETSTATUSARBPROC gl3wGetGraphicsResetStatusARB;
PFNGLGETNTEXIMAGEARBPROC gl3wGetnTexImageARB;
PFNGLREADNPIXELSARBPROC gl3wReadnPixelsARB;
PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC gl3wGetnCompressedTexImageARB;
PFNGLGETNUNIFORMFVARBPROC gl3wGetnUniformfvARB;
PFNGLGETNUNIFORMIVARBPROC gl3wGetnUniformivARB;
PFNGLGETNUNIFORMUIVARBPROC gl3wGetnUniformuivARB;
PFNGLGETNUNIFORMDVARBPROC gl3wGetnUniformdvARB;
PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC gl3wFramebufferSampleLocationsfvARB;
PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC gl3wNamedFramebufferSampleLocationsfvARB;
PFNGLEVALUATEDEPTHVALUESARBPROC gl3wEvaluateDepthValuesARB;
PFNGLMINSAMPLESHADINGARBPROC gl3wMinSampleShadingARB;
PFNGLNAMEDSTRINGARBPROC gl3wNamedStringARB;
PFNGLDELETENAMEDSTRINGARBPROC gl3wDeleteNamedStringARB;
PFNGLCOMPILESHADERINCLUDEARBPROC gl3wCompileShaderIncludeARB;
PFNGLISNAMEDSTRINGARBPROC gl3wIsNamedStringARB;
PFNGLGETNAMEDSTRINGARBPROC gl3wGetNamedStringARB;
PFNGLGETNAMEDSTRINGIVARBPROC gl3wGetNamedStringivARB;
PFNGLBUFFERPAGECOMMITMENTARBPROC gl3wBufferPageCommitmentARB;
PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC gl3wNamedBufferPageCommitmentEXT;
PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC gl3wNamedBufferPageCommitmentARB;
PFNGLTEXPAGECOMMITMENTARBPROC gl3wTexPageCommitmentARB;
PFNGLTEXBUFFERARBPROC gl3wTexBufferARB;
PFNGLBLENDBARRIERKHRPROC gl3wBlendBarrierKHR;
PFNGLMAXSHADERCOMPILERTHREADSKHRPROC gl3wMaxShaderCompilerThreadsKHR;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC gl3wRenderbufferStorageMultisampleAdvancedAMD;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC gl3wNamedRenderbufferStorageMultisampleAdvancedAMD;
PFNGLGETPERFMONITORGROUPSAMDPROC gl3wGetPerfMonitorGroupsAMD;
PFNGLGETPERFMONITORCOUNTERSAMDPROC gl3wGetPerfMonitorCountersAMD;
PFNGLGETPERFMONITORGROUPSTRINGAMDPROC gl3wGetPerfMonitorGroupStringAMD;
PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC gl3wGetPerfMonitorCounterStringAMD;
PFNGLGETPERFMONITORCOUNTERINFOAMDPROC gl3wGetPerfMonitorCounterInfoAMD;
PFNGLGENPERFMONITORSAMDPROC gl3wGenPerfMonitorsAMD;
PFNGLDELETEPERFMONITORSAMDPROC gl3wDeletePerfMonitorsAMD;
PFNGLSELECTPERFMONITORCOUNTERSAMDPROC gl3wSelectPerfMonitorCountersAMD;
PFNGLBEGINPERFMONITORAMDPROC gl3wBeginPerfMonitorAMD;
PFNGLENDPERFMONITORAMDPROC gl3wEndPerfMonitorAMD;
PFNGLGETPERFMONITORCOUNTERDATAAMDPROC gl3wGetPerfMonitorCounterDataAMD;
PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC gl3wEGLImageTargetTexStorageEXT;
PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC gl3wEGLImageTargetTextureStorageEXT;
PFNGLLABELOBJECTEXTPROC gl3wLabelObjectEXT;
PFNGLGETOBJECTLABELEXTPROC gl3wGetObjectLabelEXT;
PFNGLINSERTEVENTMARKEREXTPROC gl3wInsertEventMarkerEXT;
PFNGLPUSHGROUPMARKEREXTPROC gl3wPushGroupMarkerEXT;
PFNGLPOPGROUPMARKEREXTPROC gl3wPopGroupMarkerEXT;
PFNGLMATRIXLOADFEXTPROC gl3wMatrixLoadfEXT;
PFNGLMATRIXLOADDEXTPROC gl3wMatrixLoaddEXT;
PFNGLMATRIXMULTFEXTPROC gl3wMatrixMultfEXT;
PFNGLMATRIXMULTDEXTPROC gl3wMatrixMultdEXT;
PFNGLMATRIXLOADIDENTITYEXTPROC gl3wMatrixLoadIdentityEXT;
PFNGLMATRIXROTATEFEXTPROC gl3wMatrixRotatefEXT;
PFNGLMATRIXROTATEDEXTPROC gl3wMatrixRotatedEXT;
PFNGLMATRIXSCALEFEXTPROC gl3wMatrixScalefEXT;
PFNGLMATRIXSCALEDEXTPROC gl3wMatrixScaledEXT;
PFNGLMATRIXTRANSLATEFEXTPROC gl3wMatrixTranslatefEXT;
PFNGLMATRIXTRANSLATEDEXTPROC gl3wMatrixTranslatedEXT;
PFNGLMATRIXFRUSTUMEXTPROC gl3wMatrixFrustumEXT;
PFNGLMATRIXORTHOEXTPROC gl3wMatrixOrthoEXT;
PFNGLMATRIXPOPEXTPROC gl3wMatrixPopEXT;
PFNGLMATRIXPUSHEXTPROC gl3wMatrixPushEXT;
PFNGLCLIENTATTRIBDEFAULTEXTPROC gl3wClientAttribDefaultEXT;
PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC gl3wPushClientAttribDefaultEXT;
PFNGLTEXTUREPARAMETERFEXTPROC gl3wTextureParameterfEXT;
PFNGLTEXTUREPARAMETERFVEXTPROC gl3wTextureParameterfvEXT;
PFNGLTEXTUREPARAMETERIEXTPROC gl3wTextureParameteriEXT;
PFNGLTEXTUREPARAMETERIVEXTPROC gl3wTextureParameterivEXT;
PFNGLTEXTUREIMAGE1DEXTPROC gl3wTextureImage1DEXT;
PFNGLTEXTUREIMAGE2DEXTPROC gl3wTextureImage2DEXT;
PFNGLTEXTURESUBIMAGE1DEXTPROC gl3wTextureSubImage1DEXT;
PFNGLTEXTURESUBIMAGE2DEXTPROC gl3wTextureSubImage2DEXT;
PFNGLCOPYTEXTUREIMAGE1DEXTPROC gl3wCopyTextureImage1DEXT;
PFNGLCOPYTEXTUREIMAGE2DEXTPROC gl3wCopyTextureImage2DEXT;
PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC gl3wCopyTextureSubImage1DEXT;
PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC gl3wCopyTextureSubImage2DEXT;
PFNGLGETTEXTUREIMAGEEXTPROC gl3wGetTextureImageEXT;
PFNGLGETTEXTUREPARAMETERFVEXTPROC gl3wGetTextureParameterfvEXT;
PFNGLGETTEXTUREPARAMETERIVEXTPROC gl3wGetTextureParameterivEXT;
PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC gl3wGetTextureLevelParameterfvEXT;
PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC gl3wGetTextureLevelParameterivEXT;
PFNGLTEXTUREIMAGE3DEXTPROC gl3wTextureImage3DEXT;
PFNGLTEXTURESUBIMAGE3DEXTPROC gl3wTextureSubImage3DEXT;
PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC gl3wCopyTextureSubImage3DEXT;
PFNGLBINDMULTITEXTUREEXTPROC gl3wBindMultiTextureEXT;
PFNGLMULTITEXCOORDPOINTEREXTPROC gl3wMultiTexCoordPointerEXT;
PFNGLMULTITEXENVFEXTPROC gl3wMultiTexEnvfEXT;
PFNGLMULTITEXENVFVEXTPROC gl3wMultiTexEnvfvEXT;
PFNGLMULTITEXENVIEXTPROC gl3wMultiTexEnviEXT;
PFNGLMULTITEXENVIVEXTPROC gl3wMultiTexEnvivEXT;
PFNGLMULTITEXGENDEXTPROC gl3wMultiTexGendEXT;
PFNGLMULTITEXGENDVEXTPROC gl3wMultiTexGendvEXT;
PFNGLMULTITEXGENFEXTPROC gl3wMultiTexGenfEXT;
PFNGLMULTITEXGENFVEXTPROC gl3wMultiTexGenfvEXT;
PFNGLMULTITEXGENIEXTPROC gl3wMultiTexGeniEXT;
PFNGLMULTITEXGENIVEXTPROC gl3wMultiTexGenivEXT;
PFNGLGETMULTITEXENVFVEXTPROC gl3wGetMultiTexEnvfvEXT;
PFNGLGETMULTITEXENVIVEXTPROC gl3wGetMultiTexEnvivEXT;
PFNGLGETMULTITEXGENDVEXTPROC gl3wGetMultiTexGendvEXT;
PFNGLGETMULTITEXGENFVEXTPROC gl3wGetMultiTexGenfvEXT;
PFNGLGETMULTITEXGENIVEXTPROC gl3wGetMultiTexGenivEXT;
PFNGLMULTITEXPARAMETERIEXTPROC gl3wMultiTexParameteriEXT;
PFNGLMULTITEXPARAMETERIVEXTPROC gl3wMultiTexParameterivEXT;
PFNGLMULTITEXPARAMETERFEXTPROC gl3wMultiTexParameterfEXT;
PFNGLMULTITEXPARAMETERFVEXTPROC gl3wMultiTexParameterfvEXT;
PFNGLMULTITEXIMAGE1DEXTPROC gl3wMultiTexImage1DEXT;
PFNGLMULTITEXIMAGE2DEXTPROC gl3wMultiTexImage2DEXT;
PFNGLMULTITEXSUBIMAGE1DEXTPROC gl3wMultiTexSubImage1DEXT;
PFNGLMULTITEXSUBIMAGE2DEXTPROC gl3wMultiTexSubImage2DEXT;
PFNGLCOPYMULTITEXIMAGE1DEXTPROC gl3wCopyMultiTexImage1DEXT;
PFNGLCOPYMULTITEXIMAGE2DEXTPROC gl3wCopyMultiTexImage2DEXT;
PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC gl3wCopyMultiTexSubImage1DEXT;
PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC gl3wCopyMultiTexSubImage2DEXT;
PFNGLGETMULTITEXIMAGEEXTPROC gl3wGetMultiTexImageEXT;
PFNGLGETMULTITEXPARAMETERFVEXTPROC gl3wGetMultiTexParameterfvEXT;
PFNGLGETMULTITEXPARAMETERIVEXTPROC gl3wGetMultiTexParameterivEXT;
PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC gl3wGetMultiTexLevelParameterfvEXT;
PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC gl3wGetMultiTexLevelParameterivEXT;
PFNGLMULTITEXIMAGE3DEXTPROC gl3wMultiTexImage3DEXT;
PFNGLMULTITEXSUBIMAGE3DEXTPROC gl3wMultiTexSubImage3DEXT;
PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC gl3wCopyMultiTexSubImage3DEXT;
PFNGLENABLECLIENTSTATEINDEXEDEXTPROC gl3wEnableClientStateIndexedEXT;
PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC gl3wDisableClientStateIndexedEXT;
PFNGLGETFLOATINDEXEDVEXTPROC gl3wGetFloatIndexedvEXT;
PFNGLGETDOUBLEINDEXEDVEXTPROC gl3wGetDoubleIndexedvEXT;
PFNGLGETPOINTERINDEXEDVEXTPROC gl3wGetPointerIndexedvEXT;
PFNGLENABLEINDEXEDEXTPROC gl3wEnableIndexedEXT;
PFNGLDISABLEINDEXEDEXTPROC gl3wDisableIndexedEXT;
PFNGLISENABLEDINDEXEDEXTPROC gl3wIsEnabledIndexedEXT;
PFNGLGETINTEGERINDEXEDVEXTPROC gl3wGetIntegerIndexedvEXT;
PFNGLGETBOOLEANINDEXEDVEXTPROC gl3wGetBooleanIndexedvEXT;
PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC gl3wCompressedTextureImage3DEXT;
PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC gl3wCompressedTextureImage2DEXT;
PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC gl3wCompressedTextureImage1DEXT;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC gl3wCompressedTextureSubImage3DEXT;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC gl3wCompressedTextureSubImage2DEXT;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC gl3wCompressedTextureSubImage1DEXT;
PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC gl3wGetCompressedTextureImageEXT;
PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC gl3wCompressedMultiTexImage3DEXT;
PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC gl3wCompressedMultiTexImage2DEXT;
PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC gl3wCompressedMultiTexImage1DEXT;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC gl3wCompressedMultiTexSubImage3DEXT;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC gl3wCompressedMultiTexSubImage2DEXT;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC gl3wCompressedMultiTexSubImage1DEXT;
PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC gl3wGetCompressedMultiTexImageEXT;
PFNGLMATRIXLOADTRANSPOSEFEXTPROC gl3wMatrixLoadTransposefEXT;
PFNGLMATRIXLOADTRANSPOSEDEXTPROC gl3wMatrixLoadTransposedEXT;
PFNGLMATRIXMULTTRANSPOSEFEXTPROC gl3wMatrixMultTransposefEXT;
PFNGLMATRIXMULTTRANSPOSEDEXTPROC gl3wMatrixMultTransposedEXT;
PFNGLNAMEDBUFFERDATAEXTPROC gl3wNamedBufferDataEXT;
PFNGLNAMEDBUFFERSUBDATAEXTPROC gl3wNamedBufferSubDataEXT;
PFNGLMAPNAMEDBUFFEREXTPROC gl3wMapNamedBufferEXT;
PFNGLUNMAPNAMEDBUFFEREXTPROC gl3wUnmapNamedBufferEXT;
PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC gl3wGetNamedBufferParameterivEXT;
PFNGLGETNAMEDBUFFERPOINTERVEXTPROC gl3wGetNamedBufferPointervEXT;
PFNGLGETNAMEDBUFFERSUBDATAEXTPROC gl3wGetNamedBufferSubDataEXT;
PFNGLPROGRAMUNIFORM1FEXTPROC gl3wProgramUniform1fEXT;
PFNGLPROGRAMUNIFORM2FEXTPROC gl3wProgramUniform2fEXT;
PFNGLPROGRAMUNIFORM3FEXTPROC gl3wProgramUniform3fEXT;
PFNGLPROGRAMUNIFORM4FEXTPROC gl3wProgramUniform4fEXT;
PFNGLPROGRAMUNIFORM1IEXTPROC gl3wProgramUniform1iEXT;
PFNGLPROGRAMUNIFORM2IEXTPROC gl3wProgramUniform2iEXT;
PFNGLPROGRAMUNIFORM3IEXTPROC gl3wProgramUniform3iEXT;
PFNGLPROGRAMUNIFORM4IEXTPROC gl3wProgramUniform4iEXT;
PFNGLPROGRAMUNIFORM1FVEXTPROC gl3wProgramUniform1fvEXT;
PFNGLPROGRAMUNIFORM2FVEXTPROC gl3wProgramUniform2fvEXT;
PFNGLPROGRAMUNIFORM3FVEXTPROC gl3wProgramUniform3fvEXT;
PFNGLPROGRAMUNIFORM4FVEXTPROC gl3wProgramUniform4fvEXT;
PFNGLPROGRAMUNIFORM1IVEXTPROC gl3wProgramUniform1ivEXT;
PFNGLPROGRAMUNIFORM2IVEXTPROC gl3wProgramUniform2ivEXT;
PFNGLPROGRAMUNIFORM3IVEXTPROC gl3wProgramUniform3ivEXT;
PFNGLPROGRAMUNIFORM4IVEXTPROC gl3wProgramUniform4ivEXT;
PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC gl3wProgramUniformMatrix2fvEXT;
PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC gl3wProgramUniformMatrix3fvEXT;
PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC gl3wProgramUniformMatrix4fvEXT;
PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC gl3wProgramUniformMatrix2x3fvEXT;
PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC gl3wProgramUniformMatrix3x2fvEXT;
PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC gl3wProgramUniformMatrix2x4fvEXT;
PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC gl3wProgramUniformMatrix4x2fvEXT;
PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC gl3wProgramUniformMatrix3x4fvEXT;
PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC gl3wProgramUniformMatrix4x3fvEXT;
PFNGLTEXTUREBUFFEREXTPROC gl3wTextureBufferEXT;
PFNGLMULTITEXBUFFEREXTPROC gl3wMultiTexBufferEXT;
PFNGLTEXTUREPARAMETERIIVEXTPROC gl3wTextureParameterIivEXT;
PFNGLTEXTUREPARAMETERIUIVEXTPROC gl3wTextureParameterIuivEXT;
PFNGLGETTEXTUREPARAMETERIIVEXTPROC gl3wGetTextureParameterIivEXT;
PFNGLGETTEXTUREPARAMETERIUIVEXTPROC gl3wGetTextureParameterIuivEXT;
PFNGLMULTITEXPARAMETERIIVEXTPROC gl3wMultiTexParameterIivEXT;
PFNGLMULTITEXPARAMETERIUIVEXTPROC gl3wMultiTexParameterIuivEXT;
PFNGLGETMULTITEXPARAMETERIIVEXTPROC gl3wGetMultiTexParameterIivEXT;
PFNGLGETMULTITEXPARAMETERIUIVEXTPROC gl3wGetMultiTexParameterIuivEXT;
PFNGLPROGRAMUNIFORM1UIEXTPROC gl3wProgramUniform1uiEXT;
PFNGLPROGRAMUNIFORM2UIEXTPROC gl3wProgramUniform2uiEXT;
PFNGLPROGRAMUNIFORM3UIEXTPROC gl3wProgramUniform3uiEXT;
PFNGLPROGRAMUNIFORM4UIEXTPROC gl3wProgramUniform4uiEXT;
PFNGLPROGRAMUNIFORM1UIVEXTPROC gl3wProgramUniform1uivEXT;
PFNGLPROGRAMUNIFORM2UIVEXTPROC gl3wProgramUniform2uivEXT;
PFNGLPROGRAMUNIFORM3UIVEXTPROC gl3wProgramUniform3uivEXT;
PFNGLPROGRAMUNIFORM4UIVEXTPROC gl3wProgramUniform4uivEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC gl3wNamedProgramLocalParameters4fvEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC gl3wNamedProgramLocalParameterI4iEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC gl3wNamedProgramLocalParameterI4ivEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC gl3wNamedProgramLocalParametersI4ivEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC gl3wNamedProgramLocalParameterI4uiEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC gl3wNamedProgramLocalParameterI4uivEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC gl3wNamedProgramLocalParametersI4uivEXT;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC gl3wGetNamedProgramLocalParameterIivEXT;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC gl3wGetNamedProgramLocalParameterIuivEXT;
PFNGLENABLECLIENTSTATEIEXTPROC gl3wEnableClientStateiEXT;
PFNGLDISABLECLIENTSTATEIEXTPROC gl3wDisableClientStateiEXT;
PFNGLGETFLOATI_VEXTPROC gl3wGetFloati_vEXT;
PFNGLGETDOUBLEI_VEXTPROC gl3wGetDoublei_vEXT;
PFNGLGETPOINTERI_VEXTPROC gl3wGetPointeri_vEXT;
PFNGLNAMEDPROGRAMSTRINGEXTPROC gl3wNamedProgramStringEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC gl3wNamedProgramLocalParameter4dEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC gl3wNamedProgramLocalParameter4dvEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC gl3wNamedProgramLocalParameter4fEXT;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC gl3wNamedProgramLocalParameter4fvEXT;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC gl3wGetNamedProgramLocalParameterdvEXT;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC gl3wGetNamedProgramLocalParameterfvEXT;
PFNGLGETNAMEDPROGRAMIVEXTPROC gl3wGetNamedProgramivEXT;
PFNGLGETNAMEDPROGRAMSTRINGEXTPROC gl3wGetNamedProgramStringEXT;
PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC gl3wNamedRenderbufferStorageEXT;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC gl3wGetNamedRenderbufferParameterivEXT;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC gl3wNamedRenderbufferStorageMultisampleEXT;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC gl3wNamedRenderbufferStorageMultisampleCoverageEXT;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC gl3wCheckNamedFramebufferStatusEXT;
PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC gl3wNamedFramebufferTexture1DEXT;
PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC gl3wNamedFramebufferTexture2DEXT;
PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC gl3wNamedFramebufferTexture3DEXT;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC gl3wNamedFramebufferRenderbufferEXT;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC gl3wGetNamedFramebufferAttachmentParameterivEXT;
PFNGLGENERATETEXTUREMIPMAPEXTPROC gl3wGenerateTextureMipmapEXT;
PFNGLGENERATEMULTITEXMIPMAPEXTPROC gl3wGenerateMultiTexMipmapEXT;
PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC gl3wFramebufferDrawBufferEXT;
PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC gl3wFramebufferDrawBuffersEXT;
PFNGLFRAMEBUFFERREADBUFFEREXTPROC gl3wFramebufferReadBufferEXT;
PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC gl3wGetFramebufferParameterivEXT;
PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC gl3wNamedCopyBufferSubDataEXT;
PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC gl3wNamedFramebufferTextureEXT;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC gl3wNamedFramebufferTextureLayerEXT;
PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC gl3wNamedFramebufferTextureFaceEXT;
PFNGLTEXTURERENDERBUFFEREXTPROC gl3wTextureRenderbufferEXT;
PFNGLMULTITEXRENDERBUFFEREXTPROC gl3wMultiTexRenderbufferEXT;
PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC gl3wVertexArrayVertexOffsetEXT;
PFNGLVERTEXARRAYCOLOROFFSETEXTPROC gl3wVertexArrayColorOffsetEXT;
PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC gl3wVertexArrayEdgeFlagOffsetEXT;
PFNGLVERTEXARRAYINDEXOFFSETEXTPROC gl3wVertexArrayIndexOffsetEXT;
PFNGLVERTEXARRAYNORMALOFFSETEXTPROC gl3wVertexArrayNormalOffsetEXT;
PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC gl3wVertexArrayTexCoordOffsetEXT;
PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC gl3wVertexArrayMultiTexCoordOffsetEXT;
PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC gl3wVertexArrayFogCoordOffsetEXT;
PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC gl3wVertexArraySecondaryColorOffsetEXT;
PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC gl3wVertexArrayVertexAttribOffsetEXT;
PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC gl3wVertexArrayVertexAttribIOffsetEXT;
PFNGLENABLEVERTEXARRAYEXTPROC gl3wEnableVertexArrayEXT;
PFNGLDISABLEVERTEXARRAYEXTPROC gl3wDisableVertexArrayEXT;
PFNGLENABLEVERTEXARRAYATTRIBEXTPROC gl3wEnableVertexArrayAttribEXT;
PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC gl3wDisableVertexArrayAttribEXT;
PFNGLGETVERTEXARRAYINTEGERVEXTPROC gl3wGetVertexArrayIntegervEXT;
PFNGLGETVERTEXARRAYPOINTERVEXTPROC gl3wGetVertexArrayPointervEXT;
PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC gl3wGetVertexArrayIntegeri_vEXT;
PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC gl3wGetVertexArrayPointeri_vEXT;
PFNGLMAPNAMEDBUFFERRANGEEXTPROC gl3wMapNamedBufferRangeEXT;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC gl3wFlushMappedNamedBufferRangeEXT;
PFNGLNAMEDBUFFERSTORAGEEXTPROC gl3wNamedBufferStorageEXT;
PFNGLCLEARNAMEDBUFFERDATAEXTPROC gl3wClearNamedBufferDataEXT;
PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC gl3wClearNamedBufferSubDataEXT;
PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC gl3wNamedFramebufferParameteriEXT;
PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC gl3wGetNamedFramebufferParameterivEXT;
PFNGLPROGRAMUNIFORM1DEXTPROC gl3wProgramUniform1dEXT;
PFNGLPROGRAMUNIFORM2DEXTPROC gl3wProgramUniform2dEXT;
PFNGLPROGRAMUNIFORM3DEXTPROC gl3wProgramUniform3dEXT;
PFNGLPROGRAMUNIFORM4DEXTPROC gl3wProgramUniform4dEXT;
PFNGLPROGRAMUNIFORM1DVEXTPROC gl3wProgramUniform1dvEXT;
PFNGLPROGRAMUNIFORM2DVEXTPROC gl3wProgramUniform2dvEXT;
PFNGLPROGRAMUNIFORM3DVEXTPROC gl3wProgramUniform3dvEXT;
PFNGLPROGRAMUNIFORM4DVEXTPROC gl3wProgramUniform4dvEXT;
PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC gl3wProgramUniformMatrix2dvEXT;
PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC gl3wProgramUniformMatrix3dvEXT;
PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC gl3wProgramUniformMatrix4dvEXT;
PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC gl3wProgramUniformMatrix2x3dvEXT;
PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC gl3wProgramUniformMatrix2x4dvEXT;
PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC gl3wProgramUniformMatrix3x2dvEXT;
PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC gl3wProgramUniformMatrix3x4dvEXT;
PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC gl3wProgramUniformMatrix4x2dvEXT;
PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC gl3wProgramUniformMatrix4x3dvEXT;
PFNGLTEXTUREBUFFERRANGEEXTPROC gl3wTextureBufferRangeEXT;
PFNGLTEXTURESTORAGE1DEXTPROC gl3wTextureStorage1DEXT;
PFNGLTEXTURESTORAGE2DEXTPROC gl3wTextureStorage2DEXT;
PFNGLTEXTURESTORAGE3DEXTPROC gl3wTextureStorage3DEXT;
PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC gl3wTextureStorage2DMultisampleEXT;
PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC gl3wTextureStorage3DMultisampleEXT;
PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC gl3wVertexArrayBindVertexBufferEXT;
PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC gl3wVertexArrayVertexAttribFormatEXT;
PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC gl3wVertexArrayVertexAttribIFormatEXT;
PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC gl3wVertexArrayVertexAttribLFormatEXT;
PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC gl3wVertexArrayVertexAttribBindingEXT;
PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC gl3wVertexArrayVertexBindingDivisorEXT;
PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC gl3wVertexArrayVertexAttribLOffsetEXT;
PFNGLTEXTUREPAGECOMMITMENTEXTPROC gl3wTexturePageCommitmentEXT;
PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC gl3wVertexArrayVertexAttribDivisorEXT;
PFNGLDRAWARRAYSINSTANCEDEXTPROC gl3wDrawArraysInstancedEXT;
PFNGLDRAWELEMENTSINSTANCEDEXTPROC gl3wDrawElementsInstancedEXT;
PFNGLPOLYGONOFFSETCLAMPEXTPROC gl3wPolygonOffsetClampEXT;
PFNGLRASTERSAMPLESEXTPROC gl3wRasterSamplesEXT;
PFNGLUSESHADERPROGRAMEXTPROC gl3wUseShaderProgramEXT;
PFNGLACTIVEPROGRAMEXTPROC gl3wActiveProgramEXT;
PFNGLCREATESHADERPROGRAMEXTPROC gl3wCreateShaderProgramEXT;
PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC gl3wFramebufferFetchBarrierEXT;
PFNGLWINDOWRECTANGLESEXTPROC gl3wWindowRectanglesEXT;
PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC gl3wApplyFramebufferAttachmentCMAAINTEL;
PFNGLBEGINPERFQUERYINTELPROC gl3wBeginPerfQueryINTEL;
PFNGLCREATEPERFQUERYINTELPROC gl3wCreatePerfQueryINTEL;
PFNGLDELETEPERFQUERYINTELPROC gl3wDeletePerfQueryINTEL;
PFNGLENDPERFQUERYINTELPROC gl3wEndPerfQueryINTEL;
PFNGLGETFIRSTPERFQUERYIDINTELPROC gl3wGetFirstPerfQueryIdINTEL;
PFNGLGETNEXTPERFQUERYIDINTELPROC gl3wGetNextPerfQueryIdINTEL;
PFNGLGETPERFCOUNTERINFOINTELPROC gl3wGetPerfCounterInfoINTEL;
PFNGLGETPERFQUERYDATAINTELPROC gl3wGetPerfQueryDataINTEL;
PFNGLGETPERFQUERYIDBYNAMEINTELPROC gl3wGetPerfQueryIdByNameINTEL;
PFNGLGETPERFQUERYINFOINTELPROC gl3wGetPerfQueryInfoINTEL;
PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC gl3wMultiDrawArraysIndirectBindlessNV;
PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC gl3wMultiDrawElementsIndirectBindlessNV;
PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC gl3wMultiDrawArraysIndirectBindlessCountNV;
PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC gl3wMultiDrawElementsIndirectBindlessCountNV;
PFNGLGETTEXTUREHANDLENVPROC gl3wGetTextureHandleNV;
PFNGLGETTEXTURESAMPLERHANDLENVPROC gl3wGetTextureSamplerHandleNV;
PFNGLMAKETEXTUREHANDLERESIDENTNVPROC gl3wMakeTextureHandleResidentNV;
PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC gl3wMakeTextureHandleNonResidentNV;
PFNGLGETIMAGEHANDLENVPROC gl3wGetImageHandleNV;
PFNGLMAKEIMAGEHANDLERESIDENTNVPROC gl3wMakeImageHandleResidentNV;
PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC gl3wMakeImageHandleNonResidentNV;
PFNGLUNIFORMHANDLEUI64NVPROC gl3wUniformHandleui64NV;
PFNGLUNIFORMHANDLEUI64VNVPROC gl3wUniformHandleui64vNV;
PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC gl3wProgramUniformHandleui64NV;
PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC gl3wProgramUniformHandleui64vNV;
PFNGLISTEXTUREHANDLERESIDENTNVPROC gl3wIsTextureHandleResidentNV;
PFNGLISIMAGEHANDLERESIDENTNVPROC gl3wIsImageHandleResidentNV;
PFNGLBLENDPARAMETERINVPROC gl3wBlendParameteriNV;
PFNGLBLENDBARRIERNVPROC gl3wBlendBarrierNV;
PFNGLVIEWPORTPOSITIONWSCALENVPROC gl3wViewportPositionWScaleNV;
PFNGLCREATESTATESNVPROC gl3wCreateStatesNV;
PFNGLDELETESTATESNVPROC gl3wDeleteStatesNV;
PFNGLISSTATENVPROC gl3wIsStateNV;
PFNGLSTATECAPTURENVPROC gl3wStateCaptureNV;
PFNGLGETCOMMANDHEADERNVPROC gl3wGetCommandHeaderNV;
PFNGLGETSTAGEINDEXNVPROC gl3wGetStageIndexNV;
PFNGLDRAWCOMMANDSNVPROC gl3wDrawCommandsNV;
PFNGLDRAWCOMMANDSADDRESSNVPROC gl3wDrawCommandsAddressNV;
PFNGLDRAWCOMMANDSSTATESNVPROC gl3wDrawCommandsStatesNV;
PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC gl3wDrawCommandsStatesAddressNV;
PFNGLCREATECOMMANDLISTSNVPROC gl3wCreateCommandListsNV;
PFNGLDELETECOMMANDLISTSNVPROC gl3wDeleteCommandListsNV;
PFNGLISCOMMANDLISTNVPROC gl3wIsCommandListNV;
PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC gl3wListDrawCommandsStatesClientNV;
PFNGLCOMMANDLISTSEGMENTSNVPROC gl3wCommandListSegmentsNV;
PFNGLCOMPILECOMMANDLISTNVPROC gl3wCompileCommandListNV;
PFNGLCALLCOMMANDLISTNVPROC gl3wCallCommandListNV;
PFNGLBEGINCONDITIONALRENDERNVPROC gl3wBeginConditionalRenderNV;
PFNGLENDCONDITIONALRENDERNVPROC gl3wEndConditionalRenderNV;
PFNGLSUBPIXELPRECISIONBIASNVPROC gl3wSubpixelPrecisionBiasNV;
PFNGLCONSERVATIVERASTERPARAMETERFNVPROC gl3wConservativeRasterParameterfNV;
PFNGLCONSERVATIVERASTERPARAMETERINVPROC gl3wConservativeRasterParameteriNV;
PFNGLDRAWVKIMAGENVPROC gl3wDrawVkImageNV;
PFNGLGETVKPROCADDRNVPROC gl3wGetVkProcAddrNV;
PFNGLWAITVKSEMAPHORENVPROC gl3wWaitVkSemaphoreNV;
PFNGLSIGNALVKSEMAPHORENVPROC gl3wSignalVkSemaphoreNV;
PFNGLSIGNALVKFENCENVPROC gl3wSignalVkFenceNV;
PFNGLFRAGMENTCOVERAGECOLORNVPROC gl3wFragmentCoverageColorNV;
PFNGLCOVERAGEMODULATIONTABLENVPROC gl3wCoverageModulationTableNV;
PFNGLGETCOVERAGEMODULATIONTABLENVPROC gl3wGetCoverageModulationTableNV;
PFNGLCOVERAGEMODULATIONNVPROC gl3wCoverageModulationNV;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC gl3wRenderbufferStorageMultisampleCoverageNV;
PFNGLUNIFORM1I64NVPROC gl3wUniform1i64NV;
PFNGLUNIFORM2I64NVPROC gl3wUniform2i64NV;
PFNGLUNIFORM3I64NVPROC gl3wUniform3i64NV;
PFNGLUNIFORM4I64NVPROC gl3wUniform4i64NV;
PFNGLUNIFORM1I64VNVPROC gl3wUniform1i64vNV;
PFNGLUNIFORM2I64VNVPROC gl3wUniform2i64vNV;
PFNGLUNIFORM3I64VNVPROC gl3wUniform3i64vNV;
PFNGLUNIFORM4I64VNVPROC gl3wUniform4i64vNV;
PFNGLUNIFORM1UI64NVPROC gl3wUniform1ui64NV;
PFNGLUNIFORM2UI64NVPROC gl3wUniform2ui64NV;
PFNGLUNIFORM3UI64NVPROC gl3wUniform3ui64NV;
PFNGLUNIFORM4UI64NVPROC gl3wUniform4ui64NV;
PFNGLUNIFORM1UI64VNVPROC gl3wUniform1ui64vNV;
PFNGLUNIFORM2UI64VNVPROC gl3wUniform2ui64vNV;
PFNGLUNIFORM3UI64VNVPROC gl3wUniform3ui64vNV;
PFNGLUNIFORM4UI64VNVPROC gl3wUniform4ui64vNV;
PFNGLGETUNIFORMI64VNVPROC gl3wGetUniformi64vNV;
PFNGLPROGRAMUNIFORM1I64NVPROC gl3wProgramUniform1i64NV;
PFNGLPROGRAMUNIFORM2I64NVPROC gl3wProgramUniform2i64NV;
PFNGLPROGRAMUNIFORM3I64NVPROC gl3wProgramUniform3i64NV;
PFNGLPROGRAMUNIFORM4I64NVPROC gl3wProgramUniform4i64NV;
PFNGLPROGRAMUNIFORM1I64VNVPROC gl3wProgramUniform1i64vNV;
PFNGLPROGRAMUNIFORM2I64VNVPROC gl3wProgramUniform2i64vNV;
PFNGLPROGRAMUNIFORM3I64VNVPROC gl3wProgramUniform3i64vNV;
PFNGLPROGRAMUNIFORM4I64VNVPROC gl3wProgramUniform4i64vNV;
PFNGLPROGRAMUNIFORM1UI64NVPROC gl3wProgramUniform1ui64NV;
PFNGLPROGRAMUNIFORM2UI64NVPROC gl3wProgramUniform2ui64NV;
PFNGLPROGRAMUNIFORM3UI64NVPROC gl3wProgramUniform3ui64NV;
PFNGLPROGRAMUNIFORM4UI64NVPROC gl3wProgramUniform4ui64NV;
PFNGLPROGRAMUNIFORM1UI64VNVPROC gl3wProgramUniform1ui64vNV;
PFNGLPROGRAMUNIFORM2UI64VNVPROC gl3wProgramUniform2ui64vNV;
PFNGLPROGRAMUNIFORM3UI64VNVPROC gl3wProgramUniform3ui64vNV;
PFNGLPROGRAMUNIFORM4UI64VNVPROC gl3wProgramUniform4ui64vNV;
PFNGLGETINTERNALFORMATSAMPLEIVNVPROC gl3wGetInternalformatSampleivNV;
PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC gl3wGetMemoryObjectDetachedResourcesuivNV;
PFNGLRESETMEMORYOBJECTPARAMETERNVPROC gl3wResetMemoryObjectParameterNV;
PFNGLTEXATTACHMEMORYNVPROC gl3wTexAttachMemoryNV;
PFNGLBUFFERATTACHMEMORYNVPROC gl3wBufferAttachMemoryNV;
PFNGLTEXTUREATTACHMEMORYNVPROC gl3wTextureAttachMemoryNV;
PFNGLNAMEDBUFFERATTACHMEMORYNVPROC gl3wNamedBufferAttachMemoryNV;
PFNGLDRAWMESHTASKSNVPROC gl3wDrawMeshTasksNV;
PFNGLDRAWMESHTASKSINDIRECTNVPROC gl3wDrawMeshTasksIndirectNV;
PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC gl3wMultiDrawMeshTasksIndirectNV;
PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC gl3wMultiDrawMeshTasksIndirectCountNV;
PFNGLGENPATHSNVPROC gl3wGenPathsNV;
PFNGLDELETEPATHSNVPROC gl3wDeletePathsNV;
PFNGLISPATHNVPROC gl3wIsPathNV;
PFNGLPATHCOMMANDSNVPROC gl3wPathCommandsNV;
PFNGLPATHCOORDSNVPROC gl3wPathCoordsNV;
PFNGLPATHSUBCOMMANDSNVPROC gl3wPathSubCommandsNV;
PFNGLPATHSUBCOORDSNVPROC gl3wPathSubCoordsNV;
PFNGLPATHSTRINGNVPROC gl3wPathStringNV;
PFNGLPATHGLYPHSNVPROC gl3wPathGlyphsNV;
PFNGLPATHGLYPHRANGENVPROC gl3wPathGlyphRangeNV;
PFNGLWEIGHTPATHSNVPROC gl3wWeightPathsNV;
PFNGLCOPYPATHNVPROC gl3wCopyPathNV;
PFNGLINTERPOLATEPATHSNVPROC gl3wInterpolatePathsNV;
PFNGLTRANSFORMPATHNVPROC gl3wTransformPathNV;
PFNGLPATHPARAMETERIVNVPROC gl3wPathParameterivNV;
PFNGLPATHPARAMETERINVPROC gl3wPathParameteriNV;
PFNGLPATHPARAMETERFVNVPROC gl3wPathParameterfvNV;
PFNGLPATHPARAMETERFNVPROC gl3wPathParameterfNV;
PFNGLPATHDASHARRAYNVPROC gl3wPathDashArrayNV;
PFNGLPATHSTENCILFUNCNVPROC gl3wPathStencilFuncNV;
PFNGLPATHSTENCILDEPTHOFFSETNVPROC gl3wPathStencilDepthOffsetNV;
PFNGLSTENCILFILLPATHNVPROC gl3wStencilFillPathNV;
PFNGLSTENCILSTROKEPATHNVPROC gl3wStencilStrokePathNV;
PFNGLSTENCILFILLPATHINSTANCEDNVPROC gl3wStencilFillPathInstancedNV;
PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC gl3wStencilStrokePathInstancedNV;
PFNGLPATHCOVERDEPTHFUNCNVPROC gl3wPathCoverDepthFuncNV;
PFNGLCOVERFILLPATHNVPROC gl3wCoverFillPathNV;
PFNGLCOVERSTROKEPATHNVPROC gl3wCoverStrokePathNV;
PFNGLCOVERFILLPATHINSTANCEDNVPROC gl3wCoverFillPathInstancedNV;
PFNGLCOVERSTROKEPATHINSTANCEDNVPROC gl3wCoverStrokePathInstancedNV;
PFNGLGETPATHPARAMETERIVNVPROC gl3wGetPathParameterivNV;
PFNGLGETPATHPARAMETERFVNVPROC gl3wGetPathParameterfvNV;
PFNGLGETPATHCOMMANDSNVPROC gl3wGetPathCommandsNV;
PFNGLGETPATHCOORDSNVPROC gl3wGetPathCoordsNV;
PFNGLGETPATHDASHARRAYNVPROC gl3wGetPathDashArrayNV;
PFNGLGETPATHMETRICSNVPROC gl3wGetPathMetricsNV;
PFNGLGETPATHMETRICRANGENVPROC gl3wGetPathMetricRangeNV;
PFNGLGETPATHSPACINGNVPROC gl3wGetPathSpacingNV;
PFNGLISPOINTINFILLPATHNVPROC gl3wIsPointInFillPathNV;
PFNGLISPOINTINSTROKEPATHNVPROC gl3wIsPointInStrokePathNV;
PFNGLGETPATHLENGTHNVPROC gl3wGetPathLengthNV;
PFNGLPOINTALONGPATHNVPROC gl3wPointAlongPathNV;
PFNGLMATRIXLOAD3X2FNVPROC gl3wMatrixLoad3x2fNV;
PFNGLMATRIXLOAD3X3FNVPROC gl3wMatrixLoad3x3fNV;
PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC gl3wMatrixLoadTranspose3x3fNV;
PFNGLMATRIXMULT3X2FNVPROC gl3wMatrixMult3x2fNV;
PFNGLMATRIXMULT3X3FNVPROC gl3wMatrixMult3x3fNV;
PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC gl3wMatrixMultTranspose3x3fNV;
PFNGLSTENCILTHENCOVERFILLPATHNVPROC gl3wStencilThenCoverFillPathNV;
PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC gl3wStencilThenCoverStrokePathNV;
PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC gl3wStencilThenCoverFillPathInstancedNV;
PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC gl3wStencilThenCoverStrokePathInstancedNV;
PFNGLPATHGLYPHINDEXRANGENVPROC gl3wPathGlyphIndexRangeNV;
PFNGLPATHGLYPHINDEXARRAYNVPROC gl3wPathGlyphIndexArrayNV;
PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC gl3wPathMemoryGlyphIndexArrayNV;
PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC gl3wProgramPathFragmentInputGenNV;
PFNGLGETPROGRAMRESOURCEFVNVPROC gl3wGetProgramResourcefvNV;
PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC gl3wFramebufferSampleLocationsfvNV;
PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC gl3wNamedFramebufferSampleLocationsfvNV;
PFNGLRESOLVEDEPTHVALUESNVPROC gl3wResolveDepthValuesNV;
PFNGLSCISSOREXCLUSIVENVPROC gl3wScissorExclusiveNV;
PFNGLSCISSOREXCLUSIVEARRAYVNVPROC gl3wScissorExclusiveArrayvNV;
PFNGLMAKEBUFFERRESIDENTNVPROC gl3wMakeBufferResidentNV;
PFNGLMAKEBUFFERNONRESIDENTNVPROC gl3wMakeBufferNonResidentNV;
PFNGLISBUFFERRESIDENTNVPROC gl3wIsBufferResidentNV;
PFNGLMAKENAMEDBUFFERRESIDENTNVPROC gl3wMakeNamedBufferResidentNV;
PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC gl3wMakeNamedBufferNonResidentNV;
PFNGLISNAMEDBUFFERRESIDENTNVPROC gl3wIsNamedBufferResidentNV;
PFNGLGETBUFFERPARAMETERUI64VNVPROC gl3wGetBufferParameterui64vNV;
PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC gl3wGetNamedBufferParameterui64vNV;
PFNGLGETINTEGERUI64VNVPROC gl3wGetIntegerui64vNV;
PFNGLUNIFORMUI64NVPROC gl3wUniformui64NV;
PFNGLUNIFORMUI64VNVPROC gl3wUniformui64vNV;
PFNGLGETUNIFORMUI64VNVPROC gl3wGetUniformui64vNV;
PFNGLPROGRAMUNIFORMUI64NVPROC gl3wProgramUniformui64NV;
PFNGLPROGRAMUNIFORMUI64VNVPROC gl3wProgramUniformui64vNV;
PFNGLBINDSHADINGRATEIMAGENVPROC gl3wBindShadingRateImageNV;
PFNGLGETSHADINGRATEIMAGEPALETTENVPROC gl3wGetShadingRateImagePaletteNV;
PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC gl3wGetShadingRateSampleLocationivNV;
PFNGLSHADINGRATEIMAGEBARRIERNVPROC gl3wShadingRateImageBarrierNV;
PFNGLSHADINGRATEIMAGEPALETTENVPROC gl3wShadingRateImagePaletteNV;
PFNGLSHADINGRATESAMPLEORDERNVPROC gl3wShadingRateSampleOrderNV;
PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC gl3wShadingRateSampleOrderCustomNV;
PFNGLTEXTUREBARRIERNVPROC gl3wTextureBarrierNV;
PFNGLVERTEXATTRIBL1I64NVPROC gl3wVertexAttribL1i64NV;
PFNGLVERTEXATTRIBL2I64NVPROC gl3wVertexAttribL2i64NV;
PFNGLVERTEXATTRIBL3I64NVPROC gl3wVertexAttribL3i64NV;
PFNGLVERTEXATTRIBL4I64NVPROC gl3wVertexAttribL4i64NV;
PFNGLVERTEXATTRIBL1I64VNVPROC gl3wVertexAttribL1i64vNV;
PFNGLVERTEXATTRIBL2I64VNVPROC gl3wVertexAttribL2i64vNV;
PFNGLVERTEXATTRIBL3I64VNVPROC gl3wVertexAttribL3i64vNV;
PFNGLVERTEXATTRIBL4I64VNVPROC gl3wVertexAttribL4i64vNV;
PFNGLVERTEXATTRIBL1UI64NVPROC gl3wVertexAttribL1ui64NV;
PFNGLVERTEXATTRIBL2UI64NVPROC gl3wVertexAttribL2ui64NV;
PFNGLVERTEXATTRIBL3UI64NVPROC gl3wVertexAttribL3ui64NV;
PFNGLVERTEXATTRIBL4UI64NVPROC gl3wVertexAttribL4ui64NV;
PFNGLVERTEXATTRIBL1UI64VNVPROC gl3wVertexAttribL1ui64vNV;
PFNGLVERTEXATTRIBL2UI64VNVPROC gl3wVertexAttribL2ui64vNV;
PFNGLVERTEXATTRIBL3UI64VNVPROC gl3wVertexAttribL3ui64vNV;
PFNGLVERTEXATTRIBL4UI64VNVPROC gl3wVertexAttribL4ui64vNV;
PFNGLGETVERTEXATTRIBLI64VNVPROC gl3wGetVertexAttribLi64vNV;
PFNGLGETVERTEXATTRIBLUI64VNVPROC gl3wGetVertexAttribLui64vNV;
PFNGLVERTEXATTRIBLFORMATNVPROC gl3wVertexAttribLFormatNV;
PFNGLBUFFERADDRESSRANGENVPROC gl3wBufferAddressRangeNV;
PFNGLVERTEXFORMATNVPROC gl3wVertexFormatNV;
PFNGLNORMALFORMATNVPROC gl3wNormalFormatNV;
PFNGLCOLORFORMATNVPROC gl3wColorFormatNV;
PFNGLINDEXFORMATNVPROC gl3wIndexFormatNV;
PFNGLTEXCOORDFORMATNVPROC gl3wTexCoordFormatNV;
PFNGLEDGEFLAGFORMATNVPROC gl3wEdgeFlagFormatNV;
PFNGLSECONDARYCOLORFORMATNVPROC gl3wSecondaryColorFormatNV;
PFNGLFOGCOORDFORMATNVPROC gl3wFogCoordFormatNV;
PFNGLVERTEXATTRIBFORMATNVPROC gl3wVertexAttribFormatNV;
PFNGLVERTEXATTRIBIFORMATNVPROC gl3wVertexAttribIFormatNV;
PFNGLGETINTEGERUI64I_VNVPROC gl3wGetIntegerui64i_vNV;
PFNGLVIEWPORTSWIZZLENVPROC gl3wViewportSwizzleNV;
PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC gl3wFramebufferTextureMultiviewOVR;

static void load_procs(void)
{
	gl3wCullFace = (PFNGLCULLFACEPROC) get_proc("glCullFace");
	gl3wFrontFace = (PFNGLFRONTFACEPROC) get_proc("glFrontFace");
	gl3wHint = (PFNGLHINTPROC) get_proc("glHint");
	gl3wLineWidth = (PFNGLLINEWIDTHPROC) get_proc("glLineWidth");
	gl3wPointSize = (PFNGLPOINTSIZEPROC) get_proc("glPointSize");
	gl3wPolygonMode = (PFNGLPOLYGONMODEPROC) get_proc("glPolygonMode");
	gl3wScissor = (PFNGLSCISSORPROC) get_proc("glScissor");
	gl3wTexParameterf = (PFNGLTEXPARAMETERFPROC) get_proc("glTexParameterf");
	gl3wTexParameterfv = (PFNGLTEXPARAMETERFVPROC) get_proc("glTexParameterfv");
	gl3wTexParameteri = (PFNGLTEXPARAMETERIPROC) get_proc("glTexParameteri");
	gl3wTexParameteriv = (PFNGLTEXPARAMETERIVPROC) get_proc("glTexParameteriv");
	gl3wTexImage1D = (PFNGLTEXIMAGE1DPROC) get_proc("glTexImage1D");
	gl3wTexImage2D = (PFNGLTEXIMAGE2DPROC) get_proc("glTexImage2D");
	gl3wDrawBuffer = (PFNGLDRAWBUFFERPROC) get_proc("glDrawBuffer");
	gl3wClear = (PFNGLCLEARPROC) get_proc("glClear");
	gl3wClearColor = (PFNGLCLEARCOLORPROC) get_proc("glClearColor");
	gl3wClearStencil = (PFNGLCLEARSTENCILPROC) get_proc("glClearStencil");
	gl3wClearDepth = (PFNGLCLEARDEPTHPROC) get_proc("glClearDepth");
	gl3wStencilMask = (PFNGLSTENCILMASKPROC) get_proc("glStencilMask");
	gl3wColorMask = (PFNGLCOLORMASKPROC) get_proc("glColorMask");
	gl3wDepthMask = (PFNGLDEPTHMASKPROC) get_proc("glDepthMask");
	gl3wDisable = (PFNGLDISABLEPROC) get_proc("glDisable");
	gl3wEnable = (PFNGLENABLEPROC) get_proc("glEnable");
	gl3wFinish = (PFNGLFINISHPROC) get_proc("glFinish");
	gl3wFlush = (PFNGLFLUSHPROC) get_proc("glFlush");
	gl3wBlendFunc = (PFNGLBLENDFUNCPROC) get_proc("glBlendFunc");
	gl3wLogicOp = (PFNGLLOGICOPPROC) get_proc("glLogicOp");
	gl3wStencilFunc = (PFNGLSTENCILFUNCPROC) get_proc("glStencilFunc");
	gl3wStencilOp = (PFNGLSTENCILOPPROC) get_proc("glStencilOp");
	gl3wDepthFunc = (PFNGLDEPTHFUNCPROC) get_proc("glDepthFunc");
	gl3wPixelStoref = (PFNGLPIXELSTOREFPROC) get_proc("glPixelStoref");
	gl3wPixelStorei = (PFNGLPIXELSTOREIPROC) get_proc("glPixelStorei");
	gl3wReadBuffer = (PFNGLREADBUFFERPROC) get_proc("glReadBuffer");
	gl3wReadPixels = (PFNGLREADPIXELSPROC) get_proc("glReadPixels");
	gl3wGetBooleanv = (PFNGLGETBOOLEANVPROC) get_proc("glGetBooleanv");
	gl3wGetDoublev = (PFNGLGETDOUBLEVPROC) get_proc("glGetDoublev");
	gl3wGetError = (PFNGLGETERRORPROC) get_proc("glGetError");
	gl3wGetFloatv = (PFNGLGETFLOATVPROC) get_proc("glGetFloatv");
	gl3wGetIntegerv = (PFNGLGETINTEGERVPROC) get_proc("glGetIntegerv");
	gl3wGetString = (PFNGLGETSTRINGPROC) get_proc("glGetString");
	gl3wGetTexImage = (PFNGLGETTEXIMAGEPROC) get_proc("glGetTexImage");
	gl3wGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) get_proc("glGetTexParameterfv");
	gl3wGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) get_proc("glGetTexParameteriv");
	gl3wGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) get_proc("glGetTexLevelParameterfv");
	gl3wGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) get_proc("glGetTexLevelParameteriv");
	gl3wIsEnabled = (PFNGLISENABLEDPROC) get_proc("glIsEnabled");
	gl3wDepthRange = (PFNGLDEPTHRANGEPROC) get_proc("glDepthRange");
	gl3wViewport = (PFNGLVIEWPORTPROC) get_proc("glViewport");
	gl3wDrawArrays = (PFNGLDRAWARRAYSPROC) get_proc("glDrawArrays");
	gl3wDrawElements = (PFNGLDRAWELEMENTSPROC) get_proc("glDrawElements");
	gl3wGetPointerv = (PFNGLGETPOINTERVPROC) get_proc("glGetPointerv");
	gl3wPolygonOffset = (PFNGLPOLYGONOFFSETPROC) get_proc("glPolygonOffset");
	gl3wCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) get_proc("glCopyTexImage1D");
	gl3wCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) get_proc("glCopyTexImage2D");
	gl3wCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) get_proc("glCopyTexSubImage1D");
	gl3wCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) get_proc("glCopyTexSubImage2D");
	gl3wTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) get_proc("glTexSubImage1D");
	gl3wTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) get_proc("glTexSubImage2D");
	gl3wBindTexture = (PFNGLBINDTEXTUREPROC) get_proc("glBindTexture");
	gl3wDeleteTextures = (PFNGLDELETETEXTURESPROC) get_proc("glDeleteTextures");
	gl3wGenTextures = (PFNGLGENTEXTURESPROC) get_proc("glGenTextures");
	gl3wIsTexture = (PFNGLISTEXTUREPROC) get_proc("glIsTexture");
	gl3wDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) get_proc("glDrawRangeElements");
	gl3wTexImage3D = (PFNGLTEXIMAGE3DPROC) get_proc("glTexImage3D");
	gl3wTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) get_proc("glTexSubImage3D");
	gl3wCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) get_proc("glCopyTexSubImage3D");
	gl3wActiveTexture = (PFNGLACTIVETEXTUREPROC) get_proc("glActiveTexture");
	gl3wSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) get_proc("glSampleCoverage");
	gl3wCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) get_proc("glCompressedTexImage3D");
	gl3wCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) get_proc("glCompressedTexImage2D");
	gl3wCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) get_proc("glCompressedTexImage1D");
	gl3wCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) get_proc("glCompressedTexSubImage3D");
	gl3wCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) get_proc("glCompressedTexSubImage2D");
	gl3wCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) get_proc("glCompressedTexSubImage1D");
	gl3wGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) get_proc("glGetCompressedTexImage");
	gl3wBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) get_proc("glBlendFuncSeparate");
	gl3wMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) get_proc("glMultiDrawArrays");
	gl3wMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) get_proc("glMultiDrawElements");
	gl3wPointParameterf = (PFNGLPOINTPARAMETERFPROC) get_proc("glPointParameterf");
	gl3wPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) get_proc("glPointParameterfv");
	gl3wPointParameteri = (PFNGLPOINTPARAMETERIPROC) get_proc("glPointParameteri");
	gl3wPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) get_proc("glPointParameteriv");
	gl3wBlendColor = (PFNGLBLENDCOLORPROC) get_proc("glBlendColor");
	gl3wBlendEquation = (PFNGLBLENDEQUATIONPROC) get_proc("glBlendEquation");
	gl3wGenQueries = (PFNGLGENQUERIESPROC) get_proc("glGenQueries");
	gl3wDeleteQueries = (PFNGLDELETEQUERIESPROC) get_proc("glDeleteQueries");
	gl3wIsQuery = (PFNGLISQUERYPROC) get_proc("glIsQuery");
	gl3wBeginQuery = (PFNGLBEGINQUERYPROC) get_proc("glBeginQuery");
	gl3wEndQuery = (PFNGLENDQUERYPROC) get_proc("glEndQuery");
	gl3wGetQueryiv = (PFNGLGETQUERYIVPROC) get_proc("glGetQueryiv");
	gl3wGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) get_proc("glGetQueryObjectiv");
	gl3wGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) get_proc("glGetQueryObjectuiv");
	gl3wBindBuffer = (PFNGLBINDBUFFERPROC) get_proc("glBindBuffer");
	gl3wDeleteBuffers = (PFNGLDELETEBUFFERSPROC) get_proc("glDeleteBuffers");
	gl3wGenBuffers = (PFNGLGENBUFFERSPROC) get_proc("glGenBuffers");
	gl3wIsBuffer = (PFNGLISBUFFERPROC) get_proc("glIsBuffer");
	gl3wBufferData = (PFNGLBUFFERDATAPROC) get_proc("glBufferData");
	gl3wBufferSubData = (PFNGLBUFFERSUBDATAPROC) get_proc("glBufferSubData");
	gl3wGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) get_proc("glGetBufferSubData");
	gl3wMapBuffer = (PFNGLMAPBUFFERPROC) get_proc("glMapBuffer");
	gl3wUnmapBuffer = (PFNGLUNMAPBUFFERPROC) get_proc("glUnmapBuffer");
	gl3wGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) get_proc("glGetBufferParameteriv");
	gl3wGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) get_proc("glGetBufferPointerv");
	gl3wBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) get_proc("glBlendEquationSeparate");
	gl3wDrawBuffers = (PFNGLDRAWBUFFERSPROC) get_proc("glDrawBuffers");
	gl3wStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) get_proc("glStencilOpSeparate");
	gl3wStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) get_proc("glStencilFuncSeparate");
	gl3wStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) get_proc("glStencilMaskSeparate");
	gl3wAttachShader = (PFNGLATTACHSHADERPROC) get_proc("glAttachShader");
	gl3wBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) get_proc("glBindAttribLocation");
	gl3wCompileShader = (PFNGLCOMPILESHADERPROC) get_proc("glCompileShader");
	gl3wCreateProgram = (PFNGLCREATEPROGRAMPROC) get_proc("glCreateProgram");
	gl3wCreateShader = (PFNGLCREATESHADERPROC) get_proc("glCreateShader");
	gl3wDeleteProgram = (PFNGLDELETEPROGRAMPROC) get_proc("glDeleteProgram");
	gl3wDeleteShader = (PFNGLDELETESHADERPROC) get_proc("glDeleteShader");
	gl3wDetachShader = (PFNGLDETACHSHADERPROC) get_proc("glDetachShader");
	gl3wDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) get_proc("glDisableVertexAttribArray");
	gl3wEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) get_proc("glEnableVertexAttribArray");
	gl3wGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) get_proc("glGetActiveAttrib");
	gl3wGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) get_proc("glGetActiveUniform");
	gl3wGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) get_proc("glGetAttachedShaders");
	gl3wGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) get_proc("glGetAttribLocation");
	gl3wGetProgramiv = (PFNGLGETPROGRAMIVPROC) get_proc("glGetProgramiv");
	gl3wGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) get_proc("glGetProgramInfoLog");
	gl3wGetShaderiv = (PFNGLGETSHADERIVPROC) get_proc("glGetShaderiv");
	gl3wGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) get_proc("glGetShaderInfoLog");
	gl3wGetShaderSource = (PFNGLGETSHADERSOURCEPROC) get_proc("glGetShaderSource");
	gl3wGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) get_proc("glGetUniformLocation");
	gl3wGetUniformfv = (PFNGLGETUNIFORMFVPROC) get_proc("glGetUniformfv");
	gl3wGetUniformiv = (PFNGLGETUNIFORMIVPROC) get_proc("glGetUniformiv");
	gl3wGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) get_proc("glGetVertexAttribdv");
	gl3wGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) get_proc("glGetVertexAttribfv");
	gl3wGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) get_proc("glGetVertexAttribiv");
	gl3wGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) get_proc("glGetVertexAttribPointerv");
	gl3wIsProgram = (PFNGLISPROGRAMPROC) get_proc("glIsProgram");
	gl3wIsShader = (PFNGLISSHADERPROC) get_proc("glIsShader");
	gl3wLinkProgram = (PFNGLLINKPROGRAMPROC) get_proc("glLinkProgram");
	gl3wShaderSource = (PFNGLSHADERSOURCEPROC) get_proc("glShaderSource");
	gl3wUseProgram = (PFNGLUSEPROGRAMPROC) get_proc("glUseProgram");
	gl3wUniform1f = (PFNGLUNIFORM1FPROC) get_proc("glUniform1f");
	gl3wUniform2f = (PFNGLUNIFORM2FPROC) get_proc("glUniform2f");
	gl3wUniform3f = (PFNGLUNIFORM3FPROC) get_proc("glUniform3f");
	gl3wUniform4f = (PFNGLUNIFORM4FPROC) get_proc("glUniform4f");
	gl3wUniform1i = (PFNGLUNIFORM1IPROC) get_proc("glUniform1i");
	gl3wUniform2i = (PFNGLUNIFORM2IPROC) get_proc("glUniform2i");
	gl3wUniform3i = (PFNGLUNIFORM3IPROC) get_proc("glUniform3i");
	gl3wUniform4i = (PFNGLUNIFORM4IPROC) get_proc("glUniform4i");
	gl3wUniform1fv = (PFNGLUNIFORM1FVPROC) get_proc("glUniform1fv");
	gl3wUniform2fv = (PFNGLUNIFORM2FVPROC) get_proc("glUniform2fv");
	gl3wUniform3fv = (PFNGLUNIFORM3FVPROC) get_proc("glUniform3fv");
	gl3wUniform4fv = (PFNGLUNIFORM4FVPROC) get_proc("glUniform4fv");
	gl3wUniform1iv = (PFNGLUNIFORM1IVPROC) get_proc("glUniform1iv");
	gl3wUniform2iv = (PFNGLUNIFORM2IVPROC) get_proc("glUniform2iv");
	gl3wUniform3iv = (PFNGLUNIFORM3IVPROC) get_proc("glUniform3iv");
	gl3wUniform4iv = (PFNGLUNIFORM4IVPROC) get_proc("glUniform4iv");
	gl3wUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) get_proc("glUniformMatrix2fv");
	gl3wUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) get_proc("glUniformMatrix3fv");
	gl3wUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) get_proc("glUniformMatrix4fv");
	gl3wValidateProgram = (PFNGLVALIDATEPROGRAMPROC) get_proc("glValidateProgram");
	gl3wVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) get_proc("glVertexAttrib1d");
	gl3wVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) get_proc("glVertexAttrib1dv");
	gl3wVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) get_proc("glVertexAttrib1f");
	gl3wVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) get_proc("glVertexAttrib1fv");
	gl3wVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) get_proc("glVertexAttrib1s");
	gl3wVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) get_proc("glVertexAttrib1sv");
	gl3wVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) get_proc("glVertexAttrib2d");
	gl3wVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) get_proc("glVertexAttrib2dv");
	gl3wVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) get_proc("glVertexAttrib2f");
	gl3wVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) get_proc("glVertexAttrib2fv");
	gl3wVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) get_proc("glVertexAttrib2s");
	gl3wVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) get_proc("glVertexAttrib2sv");
	gl3wVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) get_proc("glVertexAttrib3d");
	gl3wVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) get_proc("glVertexAttrib3dv");
	gl3wVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) get_proc("glVertexAttrib3f");
	gl3wVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) get_proc("glVertexAttrib3fv");
	gl3wVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) get_proc("glVertexAttrib3s");
	gl3wVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) get_proc("glVertexAttrib3sv");
	gl3wVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) get_proc("glVertexAttrib4Nbv");
	gl3wVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) get_proc("glVertexAttrib4Niv");
	gl3wVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) get_proc("glVertexAttrib4Nsv");
	gl3wVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) get_proc("glVertexAttrib4Nub");
	gl3wVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) get_proc("glVertexAttrib4Nubv");
	gl3wVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) get_proc("glVertexAttrib4Nuiv");
	gl3wVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) get_proc("glVertexAttrib4Nusv");
	gl3wVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) get_proc("glVertexAttrib4bv");
	gl3wVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) get_proc("glVertexAttrib4d");
	gl3wVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) get_proc("glVertexAttrib4dv");
	gl3wVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) get_proc("glVertexAttrib4f");
	gl3wVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) get_proc("glVertexAttrib4fv");
	gl3wVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) get_proc("glVertexAttrib4iv");
	gl3wVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) get_proc("glVertexAttrib4s");
	gl3wVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) get_proc("glVertexAttrib4sv");
	gl3wVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) get_proc("glVertexAttrib4ubv");
	gl3wVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) get_proc("glVertexAttrib4uiv");
	gl3wVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) get_proc("glVertexAttrib4usv");
	gl3wVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) get_proc("glVertexAttribPointer");
	gl3wUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) get_proc("glUniformMatrix2x3fv");
	gl3wUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) get_proc("glUniformMatrix3x2fv");
	gl3wUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) get_proc("glUniformMatrix2x4fv");
	gl3wUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) get_proc("glUniformMatrix4x2fv");
	gl3wUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) get_proc("glUniformMatrix3x4fv");
	gl3wUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) get_proc("glUniformMatrix4x3fv");
	gl3wColorMaski = (PFNGLCOLORMASKIPROC) get_proc("glColorMaski");
	gl3wGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) get_proc("glGetBooleani_v");
	gl3wGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) get_proc("glGetIntegeri_v");
	gl3wEnablei = (PFNGLENABLEIPROC) get_proc("glEnablei");
	gl3wDisablei = (PFNGLDISABLEIPROC) get_proc("glDisablei");
	gl3wIsEnabledi = (PFNGLISENABLEDIPROC) get_proc("glIsEnabledi");
	gl3wBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) get_proc("glBeginTransformFeedback");
	gl3wEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) get_proc("glEndTransformFeedback");
	gl3wBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) get_proc("glBindBufferRange");
	gl3wBindBufferBase = (PFNGLBINDBUFFERBASEPROC) get_proc("glBindBufferBase");
	gl3wTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) get_proc("glTransformFeedbackVaryings");
	gl3wGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) get_proc("glGetTransformFeedbackVarying");
	gl3wClampColor = (PFNGLCLAMPCOLORPROC) get_proc("glClampColor");
	gl3wBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) get_proc("glBeginConditionalRender");
	gl3wEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) get_proc("glEndConditionalRender");
	gl3wVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) get_proc("glVertexAttribIPointer");
	gl3wGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) get_proc("glGetVertexAttribIiv");
	gl3wGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) get_proc("glGetVertexAttribIuiv");
	gl3wVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) get_proc("glVertexAttribI1i");
	gl3wVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) get_proc("glVertexAttribI2i");
	gl3wVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) get_proc("glVertexAttribI3i");
	gl3wVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) get_proc("glVertexAttribI4i");
	gl3wVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) get_proc("glVertexAttribI1ui");
	gl3wVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) get_proc("glVertexAttribI2ui");
	gl3wVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) get_proc("glVertexAttribI3ui");
	gl3wVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) get_proc("glVertexAttribI4ui");
	gl3wVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) get_proc("glVertexAttribI1iv");
	gl3wVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) get_proc("glVertexAttribI2iv");
	gl3wVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) get_proc("glVertexAttribI3iv");
	gl3wVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) get_proc("glVertexAttribI4iv");
	gl3wVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) get_proc("glVertexAttribI1uiv");
	gl3wVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) get_proc("glVertexAttribI2uiv");
	gl3wVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) get_proc("glVertexAttribI3uiv");
	gl3wVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) get_proc("glVertexAttribI4uiv");
	gl3wVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) get_proc("glVertexAttribI4bv");
	gl3wVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) get_proc("glVertexAttribI4sv");
	gl3wVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) get_proc("glVertexAttribI4ubv");
	gl3wVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) get_proc("glVertexAttribI4usv");
	gl3wGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) get_proc("glGetUniformuiv");
	gl3wBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) get_proc("glBindFragDataLocation");
	gl3wGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) get_proc("glGetFragDataLocation");
	gl3wUniform1ui = (PFNGLUNIFORM1UIPROC) get_proc("glUniform1ui");
	gl3wUniform2ui = (PFNGLUNIFORM2UIPROC) get_proc("glUniform2ui");
	gl3wUniform3ui = (PFNGLUNIFORM3UIPROC) get_proc("glUniform3ui");
	gl3wUniform4ui = (PFNGLUNIFORM4UIPROC) get_proc("glUniform4ui");
	gl3wUniform1uiv = (PFNGLUNIFORM1UIVPROC) get_proc("glUniform1uiv");
	gl3wUniform2uiv = (PFNGLUNIFORM2UIVPROC) get_proc("glUniform2uiv");
	gl3wUniform3uiv = (PFNGLUNIFORM3UIVPROC) get_proc("glUniform3uiv");
	gl3wUniform4uiv = (PFNGLUNIFORM4UIVPROC) get_proc("glUniform4uiv");
	gl3wTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) get_proc("glTexParameterIiv");
	gl3wTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) get_proc("glTexParameterIuiv");
	gl3wGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) get_proc("glGetTexParameterIiv");
	gl3wGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) get_proc("glGetTexParameterIuiv");
	gl3wClearBufferiv = (PFNGLCLEARBUFFERIVPROC) get_proc("glClearBufferiv");
	gl3wClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) get_proc("glClearBufferuiv");
	gl3wClearBufferfv = (PFNGLCLEARBUFFERFVPROC) get_proc("glClearBufferfv");
	gl3wClearBufferfi = (PFNGLCLEARBUFFERFIPROC) get_proc("glClearBufferfi");
	gl3wGetStringi = (PFNGLGETSTRINGIPROC) get_proc("glGetStringi");
	gl3wIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) get_proc("glIsRenderbuffer");
	gl3wBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) get_proc("glBindRenderbuffer");
	gl3wDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) get_proc("glDeleteRenderbuffers");
	gl3wGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) get_proc("glGenRenderbuffers");
	gl3wRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) get_proc("glRenderbufferStorage");
	gl3wGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) get_proc("glGetRenderbufferParameteriv");
	gl3wIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) get_proc("glIsFramebuffer");
	gl3wBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) get_proc("glBindFramebuffer");
	gl3wDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) get_proc("glDeleteFramebuffers");
	gl3wGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) get_proc("glGenFramebuffers");
	gl3wCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) get_proc("glCheckFramebufferStatus");
	gl3wFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) get_proc("glFramebufferTexture1D");
	gl3wFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) get_proc("glFramebufferTexture2D");
	gl3wFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) get_proc("glFramebufferTexture3D");
	gl3wFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) get_proc("glFramebufferRenderbuffer");
	gl3wGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) get_proc("glGetFramebufferAttachmentParameteriv");
	gl3wGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) get_proc("glGenerateMipmap");
	gl3wBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) get_proc("glBlitFramebuffer");
	gl3wRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) get_proc("glRenderbufferStorageMultisample");
	gl3wFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) get_proc("glFramebufferTextureLayer");
	gl3wMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) get_proc("glMapBufferRange");
	gl3wFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) get_proc("glFlushMappedBufferRange");
	gl3wBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) get_proc("glBindVertexArray");
	gl3wDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) get_proc("glDeleteVertexArrays");
	gl3wGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) get_proc("glGenVertexArrays");
	gl3wIsVertexArray = (PFNGLISVERTEXARRAYPROC) get_proc("glIsVertexArray");
	gl3wDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) get_proc("glDrawArraysInstanced");
	gl3wDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) get_proc("glDrawElementsInstanced");
	gl3wTexBuffer = (PFNGLTEXBUFFERPROC) get_proc("glTexBuffer");
	gl3wPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) get_proc("glPrimitiveRestartIndex");
	gl3wCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) get_proc("glCopyBufferSubData");
	gl3wGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) get_proc("glGetUniformIndices");
	gl3wGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) get_proc("glGetActiveUniformsiv");
	gl3wGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) get_proc("glGetActiveUniformName");
	gl3wGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) get_proc("glGetUniformBlockIndex");
	gl3wGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) get_proc("glGetActiveUniformBlockiv");
	gl3wGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) get_proc("glGetActiveUniformBlockName");
	gl3wUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) get_proc("glUniformBlockBinding");
	gl3wDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) get_proc("glDrawElementsBaseVertex");
	gl3wDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) get_proc("glDrawRangeElementsBaseVertex");
	gl3wDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) get_proc("glDrawElementsInstancedBaseVertex");
	gl3wMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) get_proc("glMultiDrawElementsBaseVertex");
	gl3wProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) get_proc("glProvokingVertex");
	gl3wFenceSync = (PFNGLFENCESYNCPROC) get_proc("glFenceSync");
	gl3wIsSync = (PFNGLISSYNCPROC) get_proc("glIsSync");
	gl3wDeleteSync = (PFNGLDELETESYNCPROC) get_proc("glDeleteSync");
	gl3wClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) get_proc("glClientWaitSync");
	gl3wWaitSync = (PFNGLWAITSYNCPROC) get_proc("glWaitSync");
	gl3wGetInteger64v = (PFNGLGETINTEGER64VPROC) get_proc("glGetInteger64v");
	gl3wGetSynciv = (PFNGLGETSYNCIVPROC) get_proc("glGetSynciv");
	gl3wGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) get_proc("glGetInteger64i_v");
	gl3wGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) get_proc("glGetBufferParameteri64v");
	gl3wFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) get_proc("glFramebufferTexture");
	gl3wTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) get_proc("glTexImage2DMultisample");
	gl3wTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) get_proc("glTexImage3DMultisample");
	gl3wGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) get_proc("glGetMultisamplefv");
	gl3wSampleMaski = (PFNGLSAMPLEMASKIPROC) get_proc("glSampleMaski");
	gl3wBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) get_proc("glBindFragDataLocationIndexed");
	gl3wGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) get_proc("glGetFragDataIndex");
	gl3wGenSamplers = (PFNGLGENSAMPLERSPROC) get_proc("glGenSamplers");
	gl3wDeleteSamplers = (PFNGLDELETESAMPLERSPROC) get_proc("glDeleteSamplers");
	gl3wIsSampler = (PFNGLISSAMPLERPROC) get_proc("glIsSampler");
	gl3wBindSampler = (PFNGLBINDSAMPLERPROC) get_proc("glBindSampler");
	gl3wSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) get_proc("glSamplerParameteri");
	gl3wSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) get_proc("glSamplerParameteriv");
	gl3wSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) get_proc("glSamplerParameterf");
	gl3wSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) get_proc("glSamplerParameterfv");
	gl3wSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) get_proc("glSamplerParameterIiv");
	gl3wSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) get_proc("glSamplerParameterIuiv");
	gl3wGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) get_proc("glGetSamplerParameteriv");
	gl3wGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) get_proc("glGetSamplerParameterIiv");
	gl3wGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) get_proc("glGetSamplerParameterfv");
	gl3wGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) get_proc("glGetSamplerParameterIuiv");
	gl3wQueryCounter = (PFNGLQUERYCOUNTERPROC) get_proc("glQueryCounter");
	gl3wGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) get_proc("glGetQueryObjecti64v");
	gl3wGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) get_proc("glGetQueryObjectui64v");
	gl3wVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) get_proc("glVertexAttribDivisor");
	gl3wVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) get_proc("glVertexAttribP1ui");
	gl3wVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) get_proc("glVertexAttribP1uiv");
	gl3wVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) get_proc("glVertexAttribP2ui");
	gl3wVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) get_proc("glVertexAttribP2uiv");
	gl3wVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) get_proc("glVertexAttribP3ui");
	gl3wVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) get_proc("glVertexAttribP3uiv");
	gl3wVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) get_proc("glVertexAttribP4ui");
	gl3wVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) get_proc("glVertexAttribP4uiv");
	gl3wMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) get_proc("glMinSampleShading");
	gl3wBlendEquationi = (PFNGLBLENDEQUATIONIPROC) get_proc("glBlendEquationi");
	gl3wBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) get_proc("glBlendEquationSeparatei");
	gl3wBlendFunci = (PFNGLBLENDFUNCIPROC) get_proc("glBlendFunci");
	gl3wBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) get_proc("glBlendFuncSeparatei");
	gl3wDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) get_proc("glDrawArraysIndirect");
	gl3wDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) get_proc("glDrawElementsIndirect");
	gl3wUniform1d = (PFNGLUNIFORM1DPROC) get_proc("glUniform1d");
	gl3wUniform2d = (PFNGLUNIFORM2DPROC) get_proc("glUniform2d");
	gl3wUniform3d = (PFNGLUNIFORM3DPROC) get_proc("glUniform3d");
	gl3wUniform4d = (PFNGLUNIFORM4DPROC) get_proc("glUniform4d");
	gl3wUniform1dv = (PFNGLUNIFORM1DVPROC) get_proc("glUniform1dv");
	gl3wUniform2dv = (PFNGLUNIFORM2DVPROC) get_proc("glUniform2dv");
	gl3wUniform3dv = (PFNGLUNIFORM3DVPROC) get_proc("glUniform3dv");
	gl3wUniform4dv = (PFNGLUNIFORM4DVPROC) get_proc("glUniform4dv");
	gl3wUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) get_proc("glUniformMatrix2dv");
	gl3wUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) get_proc("glUniformMatrix3dv");
	gl3wUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) get_proc("glUniformMatrix4dv");
	gl3wUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) get_proc("glUniformMatrix2x3dv");
	gl3wUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) get_proc("glUniformMatrix2x4dv");
	gl3wUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) get_proc("glUniformMatrix3x2dv");
	gl3wUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) get_proc("glUniformMatrix3x4dv");
	gl3wUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) get_proc("glUniformMatrix4x2dv");
	gl3wUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) get_proc("glUniformMatrix4x3dv");
	gl3wGetUniformdv = (PFNGLGETUNIFORMDVPROC) get_proc("glGetUniformdv");
	gl3wGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) get_proc("glGetSubroutineUniformLocation");
	gl3wGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) get_proc("glGetSubroutineIndex");
	gl3wGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) get_proc("glGetActiveSubroutineUniformiv");
	gl3wGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) get_proc("glGetActiveSubroutineUniformName");
	gl3wGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) get_proc("glGetActiveSubroutineName");
	gl3wUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) get_proc("glUniformSubroutinesuiv");
	gl3wGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) get_proc("glGetUniformSubroutineuiv");
	gl3wGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) get_proc("glGetProgramStageiv");
	gl3wPatchParameteri = (PFNGLPATCHPARAMETERIPROC) get_proc("glPatchParameteri");
	gl3wPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) get_proc("glPatchParameterfv");
	gl3wBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) get_proc("glBindTransformFeedback");
	gl3wDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) get_proc("glDeleteTransformFeedbacks");
	gl3wGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) get_proc("glGenTransformFeedbacks");
	gl3wIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) get_proc("glIsTransformFeedback");
	gl3wPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) get_proc("glPauseTransformFeedback");
	gl3wResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) get_proc("glResumeTransformFeedback");
	gl3wDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) get_proc("glDrawTransformFeedback");
	gl3wDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) get_proc("glDrawTransformFeedbackStream");
	gl3wBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) get_proc("glBeginQueryIndexed");
	gl3wEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) get_proc("glEndQueryIndexed");
	gl3wGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) get_proc("glGetQueryIndexediv");
	gl3wReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) get_proc("glReleaseShaderCompiler");
	gl3wShaderBinary = (PFNGLSHADERBINARYPROC) get_proc("glShaderBinary");
	gl3wGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) get_proc("glGetShaderPrecisionFormat");
	gl3wDepthRangef = (PFNGLDEPTHRANGEFPROC) get_proc("glDepthRangef");
	gl3wClearDepthf = (PFNGLCLEARDEPTHFPROC) get_proc("glClearDepthf");
	gl3wGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) get_proc("glGetProgramBinary");
	gl3wProgramBinary = (PFNGLPROGRAMBINARYPROC) get_proc("glProgramBinary");
	gl3wProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) get_proc("glProgramParameteri");
	gl3wUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) get_proc("glUseProgramStages");
	gl3wActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) get_proc("glActiveShaderProgram");
	gl3wCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) get_proc("glCreateShaderProgramv");
	gl3wBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) get_proc("glBindProgramPipeline");
	gl3wDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) get_proc("glDeleteProgramPipelines");
	gl3wGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) get_proc("glGenProgramPipelines");
	gl3wIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) get_proc("glIsProgramPipeline");
	gl3wGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) get_proc("glGetProgramPipelineiv");
	gl3wProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) get_proc("glProgramUniform1i");
	gl3wProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) get_proc("glProgramUniform1iv");
	gl3wProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) get_proc("glProgramUniform1f");
	gl3wProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) get_proc("glProgramUniform1fv");
	gl3wProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) get_proc("glProgramUniform1d");
	gl3wProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) get_proc("glProgramUniform1dv");
	gl3wProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) get_proc("glProgramUniform1ui");
	gl3wProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) get_proc("glProgramUniform1uiv");
	gl3wProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) get_proc("glProgramUniform2i");
	gl3wProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) get_proc("glProgramUniform2iv");
	gl3wProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) get_proc("glProgramUniform2f");
	gl3wProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) get_proc("glProgramUniform2fv");
	gl3wProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) get_proc("glProgramUniform2d");
	gl3wProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) get_proc("glProgramUniform2dv");
	gl3wProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) get_proc("glProgramUniform2ui");
	gl3wProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) get_proc("glProgramUniform2uiv");
	gl3wProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) get_proc("glProgramUniform3i");
	gl3wProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) get_proc("glProgramUniform3iv");
	gl3wProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) get_proc("glProgramUniform3f");
	gl3wProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) get_proc("glProgramUniform3fv");
	gl3wProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) get_proc("glProgramUniform3d");
	gl3wProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) get_proc("glProgramUniform3dv");
	gl3wProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) get_proc("glProgramUniform3ui");
	gl3wProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) get_proc("glProgramUniform3uiv");
	gl3wProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) get_proc("glProgramUniform4i");
	gl3wProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) get_proc("glProgramUniform4iv");
	gl3wProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) get_proc("glProgramUniform4f");
	gl3wProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) get_proc("glProgramUniform4fv");
	gl3wProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) get_proc("glProgramUniform4d");
	gl3wProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) get_proc("glProgramUniform4dv");
	gl3wProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) get_proc("glProgramUniform4ui");
	gl3wProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) get_proc("glProgramUniform4uiv");
	gl3wProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) get_proc("glProgramUniformMatrix2fv");
	gl3wProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) get_proc("glProgramUniformMatrix3fv");
	gl3wProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) get_proc("glProgramUniformMatrix4fv");
	gl3wProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) get_proc("glProgramUniformMatrix2dv");
	gl3wProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) get_proc("glProgramUniformMatrix3dv");
	gl3wProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) get_proc("glProgramUniformMatrix4dv");
	gl3wProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) get_proc("glProgramUniformMatrix2x3fv");
	gl3wProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) get_proc("glProgramUniformMatrix3x2fv");
	gl3wProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) get_proc("glProgramUniformMatrix2x4fv");
	gl3wProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) get_proc("glProgramUniformMatrix4x2fv");
	gl3wProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) get_proc("glProgramUniformMatrix3x4fv");
	gl3wProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) get_proc("glProgramUniformMatrix4x3fv");
	gl3wProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) get_proc("glProgramUniformMatrix2x3dv");
	gl3wProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) get_proc("glProgramUniformMatrix3x2dv");
	gl3wProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) get_proc("glProgramUniformMatrix2x4dv");
	gl3wProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) get_proc("glProgramUniformMatrix4x2dv");
	gl3wProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) get_proc("glProgramUniformMatrix3x4dv");
	gl3wProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) get_proc("glProgramUniformMatrix4x3dv");
	gl3wValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) get_proc("glValidateProgramPipeline");
	gl3wGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) get_proc("glGetProgramPipelineInfoLog");
	gl3wVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) get_proc("glVertexAttribL1d");
	gl3wVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) get_proc("glVertexAttribL2d");
	gl3wVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) get_proc("glVertexAttribL3d");
	gl3wVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) get_proc("glVertexAttribL4d");
	gl3wVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) get_proc("glVertexAttribL1dv");
	gl3wVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) get_proc("glVertexAttribL2dv");
	gl3wVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) get_proc("glVertexAttribL3dv");
	gl3wVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) get_proc("glVertexAttribL4dv");
	gl3wVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) get_proc("glVertexAttribLPointer");
	gl3wGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) get_proc("glGetVertexAttribLdv");
	gl3wViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) get_proc("glViewportArrayv");
	gl3wViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) get_proc("glViewportIndexedf");
	gl3wViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) get_proc("glViewportIndexedfv");
	gl3wScissorArrayv = (PFNGLSCISSORARRAYVPROC) get_proc("glScissorArrayv");
	gl3wScissorIndexed = (PFNGLSCISSORINDEXEDPROC) get_proc("glScissorIndexed");
	gl3wScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) get_proc("glScissorIndexedv");
	gl3wDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) get_proc("glDepthRangeArrayv");
	gl3wDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) get_proc("glDepthRangeIndexed");
	gl3wGetFloati_v = (PFNGLGETFLOATI_VPROC) get_proc("glGetFloati_v");
	gl3wGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) get_proc("glGetDoublei_v");
	gl3wDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawArraysInstancedBaseInstance");
	gl3wDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseInstance");
	gl3wDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseVertexBaseInstance");
	gl3wGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) get_proc("glGetInternalformativ");
	gl3wGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) get_proc("glGetActiveAtomicCounterBufferiv");
	gl3wBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) get_proc("glBindImageTexture");
	gl3wMemoryBarrier = (PFNGLMEMORYBARRIERPROC) get_proc("glMemoryBarrier");
	gl3wTexStorage1D = (PFNGLTEXSTORAGE1DPROC) get_proc("glTexStorage1D");
	gl3wTexStorage2D = (PFNGLTEXSTORAGE2DPROC) get_proc("glTexStorage2D");
	gl3wTexStorage3D = (PFNGLTEXSTORAGE3DPROC) get_proc("glTexStorage3D");
	gl3wDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) get_proc("glDrawTransformFeedbackInstanced");
	gl3wDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) get_proc("glDrawTransformFeedbackStreamInstanced");
	gl3wClearBufferData = (PFNGLCLEARBUFFERDATAPROC) get_proc("glClearBufferData");
	gl3wClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) get_proc("glClearBufferSubData");
	gl3wDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) get_proc("glDispatchCompute");
	gl3wDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) get_proc("glDispatchComputeIndirect");
	gl3wCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) get_proc("glCopyImageSubData");
	gl3wFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) get_proc("glFramebufferParameteri");
	gl3wGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) get_proc("glGetFramebufferParameteriv");
	gl3wGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) get_proc("glGetInternalformati64v");
	gl3wInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) get_proc("glInvalidateTexSubImage");
	gl3wInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) get_proc("glInvalidateTexImage");
	gl3wInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) get_proc("glInvalidateBufferSubData");
	gl3wInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) get_proc("glInvalidateBufferData");
	gl3wInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) get_proc("glInvalidateFramebuffer");
	gl3wInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) get_proc("glInvalidateSubFramebuffer");
	gl3wMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) get_proc("glMultiDrawArraysIndirect");
	gl3wMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) get_proc("glMultiDrawElementsIndirect");
	gl3wGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) get_proc("glGetProgramInterfaceiv");
	gl3wGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) get_proc("glGetProgramResourceIndex");
	gl3wGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) get_proc("glGetProgramResourceName");
	gl3wGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) get_proc("glGetProgramResourceiv");
	gl3wGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) get_proc("glGetProgramResourceLocation");
	gl3wGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) get_proc("glGetProgramResourceLocationIndex");
	gl3wShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) get_proc("glShaderStorageBlockBinding");
	gl3wTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) get_proc("glTexBufferRange");
	gl3wTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) get_proc("glTexStorage2DMultisample");
	gl3wTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) get_proc("glTexStorage3DMultisample");
	gl3wTextureView = (PFNGLTEXTUREVIEWPROC) get_proc("glTextureView");
	gl3wBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) get_proc("glBindVertexBuffer");
	gl3wVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) get_proc("glVertexAttribFormat");
	gl3wVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) get_proc("glVertexAttribIFormat");
	gl3wVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) get_proc("glVertexAttribLFormat");
	gl3wVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) get_proc("glVertexAttribBinding");
	gl3wVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) get_proc("glVertexBindingDivisor");
	gl3wDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) get_proc("glDebugMessageControl");
	gl3wDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) get_proc("glDebugMessageInsert");
	gl3wDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) get_proc("glDebugMessageCallback");
	gl3wGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) get_proc("glGetDebugMessageLog");
	gl3wPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) get_proc("glPushDebugGroup");
	gl3wPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) get_proc("glPopDebugGroup");
	gl3wObjectLabel = (PFNGLOBJECTLABELPROC) get_proc("glObjectLabel");
	gl3wGetObjectLabel = (PFNGLGETOBJECTLABELPROC) get_proc("glGetObjectLabel");
	gl3wObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) get_proc("glObjectPtrLabel");
	gl3wGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) get_proc("glGetObjectPtrLabel");
	gl3wBufferStorage = (PFNGLBUFFERSTORAGEPROC) get_proc("glBufferStorage");
	gl3wClearTexImage = (PFNGLCLEARTEXIMAGEPROC) get_proc("glClearTexImage");
	gl3wClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC) get_proc("glClearTexSubImage");
	gl3wBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC) get_proc("glBindBuffersBase");
	gl3wBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC) get_proc("glBindBuffersRange");
	gl3wBindTextures = (PFNGLBINDTEXTURESPROC) get_proc("glBindTextures");
	gl3wBindSamplers = (PFNGLBINDSAMPLERSPROC) get_proc("glBindSamplers");
	gl3wBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC) get_proc("glBindImageTextures");
	gl3wBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC) get_proc("glBindVertexBuffers");
	gl3wClipControl = (PFNGLCLIPCONTROLPROC) get_proc("glClipControl");
	gl3wCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC) get_proc("glCreateTransformFeedbacks");
	gl3wTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) get_proc("glTransformFeedbackBufferBase");
	gl3wTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) get_proc("glTransformFeedbackBufferRange");
	gl3wGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC) get_proc("glGetTransformFeedbackiv");
	gl3wGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC) get_proc("glGetTransformFeedbacki_v");
	gl3wGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC) get_proc("glGetTransformFeedbacki64_v");
	gl3wCreateBuffers = (PFNGLCREATEBUFFERSPROC) get_proc("glCreateBuffers");
	gl3wNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC) get_proc("glNamedBufferStorage");
	gl3wNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC) get_proc("glNamedBufferData");
	gl3wNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC) get_proc("glNamedBufferSubData");
	gl3wCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC) get_proc("glCopyNamedBufferSubData");
	gl3wClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC) get_proc("glClearNamedBufferData");
	gl3wClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC) get_proc("glClearNamedBufferSubData");
	gl3wMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC) get_proc("glMapNamedBuffer");
	gl3wMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC) get_proc("glMapNamedBufferRange");
	gl3wUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC) get_proc("glUnmapNamedBuffer");
	gl3wFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) get_proc("glFlushMappedNamedBufferRange");
	gl3wGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC) get_proc("glGetNamedBufferParameteriv");
	gl3wGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) get_proc("glGetNamedBufferParameteri64v");
	gl3wGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC) get_proc("glGetNamedBufferPointerv");
	gl3wGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC) get_proc("glGetNamedBufferSubData");
	gl3wCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC) get_proc("glCreateFramebuffers");
	gl3wNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) get_proc("glNamedFramebufferRenderbuffer");
	gl3wNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) get_proc("glNamedFramebufferParameteri");
	gl3wNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) get_proc("glNamedFramebufferTexture");
	gl3wNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) get_proc("glNamedFramebufferTextureLayer");
	gl3wNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) get_proc("glNamedFramebufferDrawBuffer");
	gl3wNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) get_proc("glNamedFramebufferDrawBuffers");
	gl3wNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) get_proc("glNamedFramebufferReadBuffer");
	gl3wInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) get_proc("glInvalidateNamedFramebufferData");
	gl3wInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) get_proc("glInvalidateNamedFramebufferSubData");
	gl3wClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) get_proc("glClearNamedFramebufferiv");
	gl3wClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) get_proc("glClearNamedFramebufferuiv");
	gl3wClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) get_proc("glClearNamedFramebufferfv");
	gl3wClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) get_proc("glClearNamedFramebufferfi");
	gl3wBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC) get_proc("glBlitNamedFramebuffer");
	gl3wCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) get_proc("glCheckNamedFramebufferStatus");
	gl3wGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) get_proc("glGetNamedFramebufferParameteriv");
	gl3wGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) get_proc("glGetNamedFramebufferAttachmentParameteriv");
	gl3wCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC) get_proc("glCreateRenderbuffers");
	gl3wNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC) get_proc("glNamedRenderbufferStorage");
	gl3wNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) get_proc("glNamedRenderbufferStorageMultisample");
	gl3wGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) get_proc("glGetNamedRenderbufferParameteriv");
	gl3wCreateTextures = (PFNGLCREATETEXTURESPROC) get_proc("glCreateTextures");
	gl3wTextureBuffer = (PFNGLTEXTUREBUFFERPROC) get_proc("glTextureBuffer");
	gl3wTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC) get_proc("glTextureBufferRange");
	gl3wTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC) get_proc("glTextureStorage1D");
	gl3wTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC) get_proc("glTextureStorage2D");
	gl3wTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC) get_proc("glTextureStorage3D");
	gl3wTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) get_proc("glTextureStorage2DMultisample");
	gl3wTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) get_proc("glTextureStorage3DMultisample");
	gl3wTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC) get_proc("glTextureSubImage1D");
	gl3wTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC) get_proc("glTextureSubImage2D");
	gl3wTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC) get_proc("glTextureSubImage3D");
	gl3wCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) get_proc("glCompressedTextureSubImage1D");
	gl3wCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) get_proc("glCompressedTextureSubImage2D");
	gl3wCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) get_proc("glCompressedTextureSubImage3D");
	gl3wCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC) get_proc("glCopyTextureSubImage1D");
	gl3wCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC) get_proc("glCopyTextureSubImage2D");
	gl3wCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC) get_proc("glCopyTextureSubImage3D");
	gl3wTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC) get_proc("glTextureParameterf");
	gl3wTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC) get_proc("glTextureParameterfv");
	gl3wTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC) get_proc("glTextureParameteri");
	gl3wTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC) get_proc("glTextureParameterIiv");
	gl3wTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC) get_proc("glTextureParameterIuiv");
	gl3wTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC) get_proc("glTextureParameteriv");
	gl3wGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC) get_proc("glGenerateTextureMipmap");
	gl3wBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC) get_proc("glBindTextureUnit");
	gl3wGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC) get_proc("glGetTextureImage");
	gl3wGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) get_proc("glGetCompressedTextureImage");
	gl3wGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC) get_proc("glGetTextureLevelParameterfv");
	gl3wGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC) get_proc("glGetTextureLevelParameteriv");
	gl3wGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC) get_proc("glGetTextureParameterfv");
	gl3wGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC) get_proc("glGetTextureParameterIiv");
	gl3wGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC) get_proc("glGetTextureParameterIuiv");
	gl3wGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC) get_proc("glGetTextureParameteriv");
	gl3wCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC) get_proc("glCreateVertexArrays");
	gl3wDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC) get_proc("glDisableVertexArrayAttrib");
	gl3wEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC) get_proc("glEnableVertexArrayAttrib");
	gl3wVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC) get_proc("glVertexArrayElementBuffer");
	gl3wVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC) get_proc("glVertexArrayVertexBuffer");
	gl3wVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC) get_proc("glVertexArrayVertexBuffers");
	gl3wVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC) get_proc("glVertexArrayAttribBinding");
	gl3wVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC) get_proc("glVertexArrayAttribFormat");
	gl3wVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC) get_proc("glVertexArrayAttribIFormat");
	gl3wVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC) get_proc("glVertexArrayAttribLFormat");
	gl3wVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC) get_proc("glVertexArrayBindingDivisor");
	gl3wGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC) get_proc("glGetVertexArrayiv");
	gl3wGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC) get_proc("glGetVertexArrayIndexediv");
	gl3wGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC) get_proc("glGetVertexArrayIndexed64iv");
	gl3wCreateSamplers = (PFNGLCREATESAMPLERSPROC) get_proc("glCreateSamplers");
	gl3wCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC) get_proc("glCreateProgramPipelines");
	gl3wCreateQueries = (PFNGLCREATEQUERIESPROC) get_proc("glCreateQueries");
	gl3wGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC) get_proc("glGetQueryBufferObjecti64v");
	gl3wGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC) get_proc("glGetQueryBufferObjectiv");
	gl3wGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC) get_proc("glGetQueryBufferObjectui64v");
	gl3wGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC) get_proc("glGetQueryBufferObjectuiv");
	gl3wMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC) get_proc("glMemoryBarrierByRegion");
	gl3wGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC) get_proc("glGetTextureSubImage");
	gl3wGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) get_proc("glGetCompressedTextureSubImage");
	gl3wGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC) get_proc("glGetGraphicsResetStatus");
	gl3wGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC) get_proc("glGetnCompressedTexImage");
	gl3wGetnTexImage = (PFNGLGETNTEXIMAGEPROC) get_proc("glGetnTexImage");
	gl3wGetnUniformdv = (PFNGLGETNUNIFORMDVPROC) get_proc("glGetnUniformdv");
	gl3wGetnUniformfv = (PFNGLGETNUNIFORMFVPROC) get_proc("glGetnUniformfv");
	gl3wGetnUniformiv = (PFNGLGETNUNIFORMIVPROC) get_proc("glGetnUniformiv");
	gl3wGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC) get_proc("glGetnUniformuiv");
	gl3wReadnPixels = (PFNGLREADNPIXELSPROC) get_proc("glReadnPixels");
	gl3wTextureBarrier = (PFNGLTEXTUREBARRIERPROC) get_proc("glTextureBarrier");
	gl3wSpecializeShader = (PFNGLSPECIALIZESHADERPROC) get_proc("glSpecializeShader");
	gl3wMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) get_proc("glMultiDrawArraysIndirectCount");
	gl3wMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) get_proc("glMultiDrawElementsIndirectCount");
	gl3wPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC) get_proc("glPolygonOffsetClamp");
	gl3wPrimitiveBoundingBoxARB = (PFNGLPRIMITIVEBOUNDINGBOXARBPROC) get_proc("glPrimitiveBoundingBoxARB");
	gl3wGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC) get_proc("glGetTextureHandleARB");
	gl3wGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC) get_proc("glGetTextureSamplerHandleARB");
	gl3wMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) get_proc("glMakeTextureHandleResidentARB");
	gl3wMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) get_proc("glMakeTextureHandleNonResidentARB");
	gl3wGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC) get_proc("glGetImageHandleARB");
	gl3wMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) get_proc("glMakeImageHandleResidentARB");
	gl3wMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) get_proc("glMakeImageHandleNonResidentARB");
	gl3wUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC) get_proc("glUniformHandleui64ARB");
	gl3wUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC) get_proc("glUniformHandleui64vARB");
	gl3wProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) get_proc("glProgramUniformHandleui64ARB");
	gl3wProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) get_proc("glProgramUniformHandleui64vARB");
	gl3wIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC) get_proc("glIsTextureHandleResidentARB");
	gl3wIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC) get_proc("glIsImageHandleResidentARB");
	gl3wVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC) get_proc("glVertexAttribL1ui64ARB");
	gl3wVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC) get_proc("glVertexAttribL1ui64vARB");
	gl3wGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC) get_proc("glGetVertexAttribLui64vARB");
	gl3wCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC) get_proc("glCreateSyncFromCLeventARB");
	gl3wDispatchComputeGroupSizeARB = (PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) get_proc("glDispatchComputeGroupSizeARB");
	gl3wDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC) get_proc("glDebugMessageControlARB");
	gl3wDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC) get_proc("glDebugMessageInsertARB");
	gl3wDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC) get_proc("glDebugMessageCallbackARB");
	gl3wGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC) get_proc("glGetDebugMessageLogARB");
	gl3wBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC) get_proc("glBlendEquationiARB");
	gl3wBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC) get_proc("glBlendEquationSeparateiARB");
	gl3wBlendFunciARB = (PFNGLBLENDFUNCIARBPROC) get_proc("glBlendFunciARB");
	gl3wBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC) get_proc("glBlendFuncSeparateiARB");
	gl3wDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC) get_proc("glDrawArraysInstancedARB");
	gl3wDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC) get_proc("glDrawElementsInstancedARB");
	gl3wProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC) get_proc("glProgramParameteriARB");
	gl3wFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC) get_proc("glFramebufferTextureARB");
	gl3wFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) get_proc("glFramebufferTextureLayerARB");
	gl3wFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) get_proc("glFramebufferTextureFaceARB");
	gl3wSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC) get_proc("glSpecializeShaderARB");
	gl3wUniform1i64ARB = (PFNGLUNIFORM1I64ARBPROC) get_proc("glUniform1i64ARB");
	gl3wUniform2i64ARB = (PFNGLUNIFORM2I64ARBPROC) get_proc("glUniform2i64ARB");
	gl3wUniform3i64ARB = (PFNGLUNIFORM3I64ARBPROC) get_proc("glUniform3i64ARB");
	gl3wUniform4i64ARB = (PFNGLUNIFORM4I64ARBPROC) get_proc("glUniform4i64ARB");
	gl3wUniform1i64vARB = (PFNGLUNIFORM1I64VARBPROC) get_proc("glUniform1i64vARB");
	gl3wUniform2i64vARB = (PFNGLUNIFORM2I64VARBPROC) get_proc("glUniform2i64vARB");
	gl3wUniform3i64vARB = (PFNGLUNIFORM3I64VARBPROC) get_proc("glUniform3i64vARB");
	gl3wUniform4i64vARB = (PFNGLUNIFORM4I64VARBPROC) get_proc("glUniform4i64vARB");
	gl3wUniform1ui64ARB = (PFNGLUNIFORM1UI64ARBPROC) get_proc("glUniform1ui64ARB");
	gl3wUniform2ui64ARB = (PFNGLUNIFORM2UI64ARBPROC) get_proc("glUniform2ui64ARB");
	gl3wUniform3ui64ARB = (PFNGLUNIFORM3UI64ARBPROC) get_proc("glUniform3ui64ARB");
	gl3wUniform4ui64ARB = (PFNGLUNIFORM4UI64ARBPROC) get_proc("glUniform4ui64ARB");
	gl3wUniform1ui64vARB = (PFNGLUNIFORM1UI64VARBPROC) get_proc("glUniform1ui64vARB");
	gl3wUniform2ui64vARB = (PFNGLUNIFORM2UI64VARBPROC) get_proc("glUniform2ui64vARB");
	gl3wUniform3ui64vARB = (PFNGLUNIFORM3UI64VARBPROC) get_proc("glUniform3ui64vARB");
	gl3wUniform4ui64vARB = (PFNGLUNIFORM4UI64VARBPROC) get_proc("glUniform4ui64vARB");
	gl3wGetUniformi64vARB = (PFNGLGETUNIFORMI64VARBPROC) get_proc("glGetUniformi64vARB");
	gl3wGetUniformui64vARB = (PFNGLGETUNIFORMUI64VARBPROC) get_proc("glGetUniformui64vARB");
	gl3wGetnUniformi64vARB = (PFNGLGETNUNIFORMI64VARBPROC) get_proc("glGetnUniformi64vARB");
	gl3wGetnUniformui64vARB = (PFNGLGETNUNIFORMUI64VARBPROC) get_proc("glGetnUniformui64vARB");
	gl3wProgramUniform1i64ARB = (PFNGLPROGRAMUNIFORM1I64ARBPROC) get_proc("glProgramUniform1i64ARB");
	gl3wProgramUniform2i64ARB = (PFNGLPROGRAMUNIFORM2I64ARBPROC) get_proc("glProgramUniform2i64ARB");
	gl3wProgramUniform3i64ARB = (PFNGLPROGRAMUNIFORM3I64ARBPROC) get_proc("glProgramUniform3i64ARB");
	gl3wProgramUniform4i64ARB = (PFNGLPROGRAMUNIFORM4I64ARBPROC) get_proc("glProgramUniform4i64ARB");
	gl3wProgramUniform1i64vARB = (PFNGLPROGRAMUNIFORM1I64VARBPROC) get_proc("glProgramUniform1i64vARB");
	gl3wProgramUniform2i64vARB = (PFNGLPROGRAMUNIFORM2I64VARBPROC) get_proc("glProgramUniform2i64vARB");
	gl3wProgramUniform3i64vARB = (PFNGLPROGRAMUNIFORM3I64VARBPROC) get_proc("glProgramUniform3i64vARB");
	gl3wProgramUniform4i64vARB = (PFNGLPROGRAMUNIFORM4I64VARBPROC) get_proc("glProgramUniform4i64vARB");
	gl3wProgramUniform1ui64ARB = (PFNGLPROGRAMUNIFORM1UI64ARBPROC) get_proc("glProgramUniform1ui64ARB");
	gl3wProgramUniform2ui64ARB = (PFNGLPROGRAMUNIFORM2UI64ARBPROC) get_proc("glProgramUniform2ui64ARB");
	gl3wProgramUniform3ui64ARB = (PFNGLPROGRAMUNIFORM3UI64ARBPROC) get_proc("glProgramUniform3ui64ARB");
	gl3wProgramUniform4ui64ARB = (PFNGLPROGRAMUNIFORM4UI64ARBPROC) get_proc("glProgramUniform4ui64ARB");
	gl3wProgramUniform1ui64vARB = (PFNGLPROGRAMUNIFORM1UI64VARBPROC) get_proc("glProgramUniform1ui64vARB");
	gl3wProgramUniform2ui64vARB = (PFNGLPROGRAMUNIFORM2UI64VARBPROC) get_proc("glProgramUniform2ui64vARB");
	gl3wProgramUniform3ui64vARB = (PFNGLPROGRAMUNIFORM3UI64VARBPROC) get_proc("glProgramUniform3ui64vARB");
	gl3wProgramUniform4ui64vARB = (PFNGLPROGRAMUNIFORM4UI64VARBPROC) get_proc("glProgramUniform4ui64vARB");
	gl3wMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) get_proc("glMultiDrawArraysIndirectCountARB");
	gl3wMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) get_proc("glMultiDrawElementsIndirectCountARB");
	gl3wVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC) get_proc("glVertexAttribDivisorARB");
	gl3wMaxShaderCompilerThreadsARB = (PFNGLMAXSHADERCOMPILERTHREADSARBPROC) get_proc("glMaxShaderCompilerThreadsARB");
	gl3wGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC) get_proc("glGetGraphicsResetStatusARB");
	gl3wGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC) get_proc("glGetnTexImageARB");
	gl3wReadnPixelsARB = (PFNGLREADNPIXELSARBPROC) get_proc("glReadnPixelsARB");
	gl3wGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) get_proc("glGetnCompressedTexImageARB");
	gl3wGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC) get_proc("glGetnUniformfvARB");
	gl3wGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC) get_proc("glGetnUniformivARB");
	gl3wGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC) get_proc("glGetnUniformuivARB");
	gl3wGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC) get_proc("glGetnUniformdvARB");
	gl3wFramebufferSampleLocationsfvARB = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) get_proc("glFramebufferSampleLocationsfvARB");
	gl3wNamedFramebufferSampleLocationsfvARB = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) get_proc("glNamedFramebufferSampleLocationsfvARB");
	gl3wEvaluateDepthValuesARB = (PFNGLEVALUATEDEPTHVALUESARBPROC) get_proc("glEvaluateDepthValuesARB");
	gl3wMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC) get_proc("glMinSampleShadingARB");
	gl3wNamedStringARB = (PFNGLNAMEDSTRINGARBPROC) get_proc("glNamedStringARB");
	gl3wDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC) get_proc("glDeleteNamedStringARB");
	gl3wCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC) get_proc("glCompileShaderIncludeARB");
	gl3wIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC) get_proc("glIsNamedStringARB");
	gl3wGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC) get_proc("glGetNamedStringARB");
	gl3wGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC) get_proc("glGetNamedStringivARB");
	gl3wBufferPageCommitmentARB = (PFNGLBUFFERPAGECOMMITMENTARBPROC) get_proc("glBufferPageCommitmentARB");
	gl3wNamedBufferPageCommitmentEXT = (PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) get_proc("glNamedBufferPageCommitmentEXT");
	gl3wNamedBufferPageCommitmentARB = (PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) get_proc("glNamedBufferPageCommitmentARB");
	gl3wTexPageCommitmentARB = (PFNGLTEXPAGECOMMITMENTARBPROC) get_proc("glTexPageCommitmentARB");
	gl3wTexBufferARB = (PFNGLTEXBUFFERARBPROC) get_proc("glTexBufferARB");
	gl3wBlendBarrierKHR = (PFNGLBLENDBARRIERKHRPROC) get_proc("glBlendBarrierKHR");
	gl3wMaxShaderCompilerThreadsKHR = (PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) get_proc("glMaxShaderCompilerThreadsKHR");
	gl3wRenderbufferStorageMultisampleAdvancedAMD = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) get_proc("glRenderbufferStorageMultisampleAdvancedAMD");
	gl3wNamedRenderbufferStorageMultisampleAdvancedAMD = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) get_proc("glNamedRenderbufferStorageMultisampleAdvancedAMD");
	gl3wGetPerfMonitorGroupsAMD = (PFNGLGETPERFMONITORGROUPSAMDPROC) get_proc("glGetPerfMonitorGroupsAMD");
	gl3wGetPerfMonitorCountersAMD = (PFNGLGETPERFMONITORCOUNTERSAMDPROC) get_proc("glGetPerfMonitorCountersAMD");
	gl3wGetPerfMonitorGroupStringAMD = (PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) get_proc("glGetPerfMonitorGroupStringAMD");
	gl3wGetPerfMonitorCounterStringAMD = (PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) get_proc("glGetPerfMonitorCounterStringAMD");
	gl3wGetPerfMonitorCounterInfoAMD = (PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) get_proc("glGetPerfMonitorCounterInfoAMD");
	gl3wGenPerfMonitorsAMD = (PFNGLGENPERFMONITORSAMDPROC) get_proc("glGenPerfMonitorsAMD");
	gl3wDeletePerfMonitorsAMD = (PFNGLDELETEPERFMONITORSAMDPROC) get_proc("glDeletePerfMonitorsAMD");
	gl3wSelectPerfMonitorCountersAMD = (PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) get_proc("glSelectPerfMonitorCountersAMD");
	gl3wBeginPerfMonitorAMD = (PFNGLBEGINPERFMONITORAMDPROC) get_proc("glBeginPerfMonitorAMD");
	gl3wEndPerfMonitorAMD = (PFNGLENDPERFMONITORAMDPROC) get_proc("glEndPerfMonitorAMD");
	gl3wGetPerfMonitorCounterDataAMD = (PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) get_proc("glGetPerfMonitorCounterDataAMD");
	gl3wEGLImageTargetTexStorageEXT = (PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) get_proc("glEGLImageTargetTexStorageEXT");
	gl3wEGLImageTargetTextureStorageEXT = (PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) get_proc("glEGLImageTargetTextureStorageEXT");
	gl3wLabelObjectEXT = (PFNGLLABELOBJECTEXTPROC) get_proc("glLabelObjectEXT");
	gl3wGetObjectLabelEXT = (PFNGLGETOBJECTLABELEXTPROC) get_proc("glGetObjectLabelEXT");
	gl3wInsertEventMarkerEXT = (PFNGLINSERTEVENTMARKEREXTPROC) get_proc("glInsertEventMarkerEXT");
	gl3wPushGroupMarkerEXT = (PFNGLPUSHGROUPMARKEREXTPROC) get_proc("glPushGroupMarkerEXT");
	gl3wPopGroupMarkerEXT = (PFNGLPOPGROUPMARKEREXTPROC) get_proc("glPopGroupMarkerEXT");
	gl3wMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC) get_proc("glMatrixLoadfEXT");
	gl3wMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC) get_proc("glMatrixLoaddEXT");
	gl3wMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC) get_proc("glMatrixMultfEXT");
	gl3wMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC) get_proc("glMatrixMultdEXT");
	gl3wMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC) get_proc("glMatrixLoadIdentityEXT");
	gl3wMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC) get_proc("glMatrixRotatefEXT");
	gl3wMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC) get_proc("glMatrixRotatedEXT");
	gl3wMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC) get_proc("glMatrixScalefEXT");
	gl3wMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC) get_proc("glMatrixScaledEXT");
	gl3wMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC) get_proc("glMatrixTranslatefEXT");
	gl3wMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC) get_proc("glMatrixTranslatedEXT");
	gl3wMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC) get_proc("glMatrixFrustumEXT");
	gl3wMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC) get_proc("glMatrixOrthoEXT");
	gl3wMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC) get_proc("glMatrixPopEXT");
	gl3wMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC) get_proc("glMatrixPushEXT");
	gl3wClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC) get_proc("glClientAttribDefaultEXT");
	gl3wPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) get_proc("glPushClientAttribDefaultEXT");
	gl3wTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC) get_proc("glTextureParameterfEXT");
	gl3wTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC) get_proc("glTextureParameterfvEXT");
	gl3wTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC) get_proc("glTextureParameteriEXT");
	gl3wTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC) get_proc("glTextureParameterivEXT");
	gl3wTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC) get_proc("glTextureImage1DEXT");
	gl3wTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC) get_proc("glTextureImage2DEXT");
	gl3wTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC) get_proc("glTextureSubImage1DEXT");
	gl3wTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC) get_proc("glTextureSubImage2DEXT");
	gl3wCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC) get_proc("glCopyTextureImage1DEXT");
	gl3wCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC) get_proc("glCopyTextureImage2DEXT");
	gl3wCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) get_proc("glCopyTextureSubImage1DEXT");
	gl3wCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) get_proc("glCopyTextureSubImage2DEXT");
	gl3wGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC) get_proc("glGetTextureImageEXT");
	gl3wGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC) get_proc("glGetTextureParameterfvEXT");
	gl3wGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC) get_proc("glGetTextureParameterivEXT");
	gl3wGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) get_proc("glGetTextureLevelParameterfvEXT");
	gl3wGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) get_proc("glGetTextureLevelParameterivEXT");
	gl3wTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC) get_proc("glTextureImage3DEXT");
	gl3wTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC) get_proc("glTextureSubImage3DEXT");
	gl3wCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) get_proc("glCopyTextureSubImage3DEXT");
	gl3wBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC) get_proc("glBindMultiTextureEXT");
	gl3wMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC) get_proc("glMultiTexCoordPointerEXT");
	gl3wMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC) get_proc("glMultiTexEnvfEXT");
	gl3wMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC) get_proc("glMultiTexEnvfvEXT");
	gl3wMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC) get_proc("glMultiTexEnviEXT");
	gl3wMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC) get_proc("glMultiTexEnvivEXT");
	gl3wMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC) get_proc("glMultiTexGendEXT");
	gl3wMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC) get_proc("glMultiTexGendvEXT");
	gl3wMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC) get_proc("glMultiTexGenfEXT");
	gl3wMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC) get_proc("glMultiTexGenfvEXT");
	gl3wMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC) get_proc("glMultiTexGeniEXT");
	gl3wMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC) get_proc("glMultiTexGenivEXT");
	gl3wGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC) get_proc("glGetMultiTexEnvfvEXT");
	gl3wGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC) get_proc("glGetMultiTexEnvivEXT");
	gl3wGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC) get_proc("glGetMultiTexGendvEXT");
	gl3wGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC) get_proc("glGetMultiTexGenfvEXT");
	gl3wGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC) get_proc("glGetMultiTexGenivEXT");
	gl3wMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC) get_proc("glMultiTexParameteriEXT");
	gl3wMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC) get_proc("glMultiTexParameterivEXT");
	gl3wMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC) get_proc("glMultiTexParameterfEXT");
	gl3wMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC) get_proc("glMultiTexParameterfvEXT");
	gl3wMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC) get_proc("glMultiTexImage1DEXT");
	gl3wMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC) get_proc("glMultiTexImage2DEXT");
	gl3wMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC) get_proc("glMultiTexSubImage1DEXT");
	gl3wMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC) get_proc("glMultiTexSubImage2DEXT");
	gl3wCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC) get_proc("glCopyMultiTexImage1DEXT");
	gl3wCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC) get_proc("glCopyMultiTexImage2DEXT");
	gl3wCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) get_proc("glCopyMultiTexSubImage1DEXT");
	gl3wCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) get_proc("glCopyMultiTexSubImage2DEXT");
	gl3wGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC) get_proc("glGetMultiTexImageEXT");
	gl3wGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC) get_proc("glGetMultiTexParameterfvEXT");
	gl3wGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC) get_proc("glGetMultiTexParameterivEXT");
	gl3wGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) get_proc("glGetMultiTexLevelParameterfvEXT");
	gl3wGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) get_proc("glGetMultiTexLevelParameterivEXT");
	gl3wMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC) get_proc("glMultiTexImage3DEXT");
	gl3wMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC) get_proc("glMultiTexSubImage3DEXT");
	gl3wCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) get_proc("glCopyMultiTexSubImage3DEXT");
	gl3wEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) get_proc("glEnableClientStateIndexedEXT");
	gl3wDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) get_proc("glDisableClientStateIndexedEXT");
	gl3wGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC) get_proc("glGetFloatIndexedvEXT");
	gl3wGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC) get_proc("glGetDoubleIndexedvEXT");
	gl3wGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC) get_proc("glGetPointerIndexedvEXT");
	gl3wEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC) get_proc("glEnableIndexedEXT");
	gl3wDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC) get_proc("glDisableIndexedEXT");
	gl3wIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC) get_proc("glIsEnabledIndexedEXT");
	gl3wGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC) get_proc("glGetIntegerIndexedvEXT");
	gl3wGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC) get_proc("glGetBooleanIndexedvEXT");
	gl3wCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) get_proc("glCompressedTextureImage3DEXT");
	gl3wCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) get_proc("glCompressedTextureImage2DEXT");
	gl3wCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) get_proc("glCompressedTextureImage1DEXT");
	gl3wCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) get_proc("glCompressedTextureSubImage3DEXT");
	gl3wCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) get_proc("glCompressedTextureSubImage2DEXT");
	gl3wCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) get_proc("glCompressedTextureSubImage1DEXT");
	gl3wGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) get_proc("glGetCompressedTextureImageEXT");
	gl3wCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) get_proc("glCompressedMultiTexImage3DEXT");
	gl3wCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) get_proc("glCompressedMultiTexImage2DEXT");
	gl3wCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) get_proc("glCompressedMultiTexImage1DEXT");
	gl3wCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) get_proc("glCompressedMultiTexSubImage3DEXT");
	gl3wCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) get_proc("glCompressedMultiTexSubImage2DEXT");
	gl3wCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) get_proc("glCompressedMultiTexSubImage1DEXT");
	gl3wGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) get_proc("glGetCompressedMultiTexImageEXT");
	gl3wMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC) get_proc("glMatrixLoadTransposefEXT");
	gl3wMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC) get_proc("glMatrixLoadTransposedEXT");
	gl3wMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC) get_proc("glMatrixMultTransposefEXT");
	gl3wMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC) get_proc("glMatrixMultTransposedEXT");
	gl3wNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC) get_proc("glNamedBufferDataEXT");
	gl3wNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC) get_proc("glNamedBufferSubDataEXT");
	gl3wMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC) get_proc("glMapNamedBufferEXT");
	gl3wUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC) get_proc("glUnmapNamedBufferEXT");
	gl3wGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) get_proc("glGetNamedBufferParameterivEXT");
	gl3wGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) get_proc("glGetNamedBufferPointervEXT");
	gl3wGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) get_proc("glGetNamedBufferSubDataEXT");
	gl3wProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC) get_proc("glProgramUniform1fEXT");
	gl3wProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC) get_proc("glProgramUniform2fEXT");
	gl3wProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC) get_proc("glProgramUniform3fEXT");
	gl3wProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC) get_proc("glProgramUniform4fEXT");
	gl3wProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC) get_proc("glProgramUniform1iEXT");
	gl3wProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC) get_proc("glProgramUniform2iEXT");
	gl3wProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC) get_proc("glProgramUniform3iEXT");
	gl3wProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC) get_proc("glProgramUniform4iEXT");
	gl3wProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC) get_proc("glProgramUniform1fvEXT");
	gl3wProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC) get_proc("glProgramUniform2fvEXT");
	gl3wProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC) get_proc("glProgramUniform3fvEXT");
	gl3wProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC) get_proc("glProgramUniform4fvEXT");
	gl3wProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC) get_proc("glProgramUniform1ivEXT");
	gl3wProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC) get_proc("glProgramUniform2ivEXT");
	gl3wProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC) get_proc("glProgramUniform3ivEXT");
	gl3wProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC) get_proc("glProgramUniform4ivEXT");
	gl3wProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) get_proc("glProgramUniformMatrix2fvEXT");
	gl3wProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) get_proc("glProgramUniformMatrix3fvEXT");
	gl3wProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) get_proc("glProgramUniformMatrix4fvEXT");
	gl3wProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) get_proc("glProgramUniformMatrix2x3fvEXT");
	gl3wProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) get_proc("glProgramUniformMatrix3x2fvEXT");
	gl3wProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) get_proc("glProgramUniformMatrix2x4fvEXT");
	gl3wProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) get_proc("glProgramUniformMatrix4x2fvEXT");
	gl3wProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) get_proc("glProgramUniformMatrix3x4fvEXT");
	gl3wProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) get_proc("glProgramUniformMatrix4x3fvEXT");
	gl3wTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC) get_proc("glTextureBufferEXT");
	gl3wMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC) get_proc("glMultiTexBufferEXT");
	gl3wTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC) get_proc("glTextureParameterIivEXT");
	gl3wTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC) get_proc("glTextureParameterIuivEXT");
	gl3wGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC) get_proc("glGetTextureParameterIivEXT");
	gl3wGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) get_proc("glGetTextureParameterIuivEXT");
	gl3wMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC) get_proc("glMultiTexParameterIivEXT");
	gl3wMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC) get_proc("glMultiTexParameterIuivEXT");
	gl3wGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC) get_proc("glGetMultiTexParameterIivEXT");
	gl3wGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) get_proc("glGetMultiTexParameterIuivEXT");
	gl3wProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC) get_proc("glProgramUniform1uiEXT");
	gl3wProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC) get_proc("glProgramUniform2uiEXT");
	gl3wProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC) get_proc("glProgramUniform3uiEXT");
	gl3wProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC) get_proc("glProgramUniform4uiEXT");
	gl3wProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC) get_proc("glProgramUniform1uivEXT");
	gl3wProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC) get_proc("glProgramUniform2uivEXT");
	gl3wProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC) get_proc("glProgramUniform3uivEXT");
	gl3wProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC) get_proc("glProgramUniform4uivEXT");
	gl3wNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) get_proc("glNamedProgramLocalParameters4fvEXT");
	gl3wNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) get_proc("glNamedProgramLocalParameterI4iEXT");
	gl3wNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) get_proc("glNamedProgramLocalParameterI4ivEXT");
	gl3wNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) get_proc("glNamedProgramLocalParametersI4ivEXT");
	gl3wNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) get_proc("glNamedProgramLocalParameterI4uiEXT");
	gl3wNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) get_proc("glNamedProgramLocalParameterI4uivEXT");
	gl3wNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) get_proc("glNamedProgramLocalParametersI4uivEXT");
	gl3wGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) get_proc("glGetNamedProgramLocalParameterIivEXT");
	gl3wGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) get_proc("glGetNamedProgramLocalParameterIuivEXT");
	gl3wEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC) get_proc("glEnableClientStateiEXT");
	gl3wDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC) get_proc("glDisableClientStateiEXT");
	gl3wGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC) get_proc("glGetFloati_vEXT");
	gl3wGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC) get_proc("glGetDoublei_vEXT");
	gl3wGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC) get_proc("glGetPointeri_vEXT");
	gl3wNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC) get_proc("glNamedProgramStringEXT");
	gl3wNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) get_proc("glNamedProgramLocalParameter4dEXT");
	gl3wNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) get_proc("glNamedProgramLocalParameter4dvEXT");
	gl3wNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) get_proc("glNamedProgramLocalParameter4fEXT");
	gl3wNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) get_proc("glNamedProgramLocalParameter4fvEXT");
	gl3wGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) get_proc("glGetNamedProgramLocalParameterdvEXT");
	gl3wGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) get_proc("glGetNamedProgramLocalParameterfvEXT");
	gl3wGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC) get_proc("glGetNamedProgramivEXT");
	gl3wGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) get_proc("glGetNamedProgramStringEXT");
	gl3wNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) get_proc("glNamedRenderbufferStorageEXT");
	gl3wGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) get_proc("glGetNamedRenderbufferParameterivEXT");
	gl3wNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) get_proc("glNamedRenderbufferStorageMultisampleEXT");
	gl3wNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) get_proc("glNamedRenderbufferStorageMultisampleCoverageEXT");
	gl3wCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) get_proc("glCheckNamedFramebufferStatusEXT");
	gl3wNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) get_proc("glNamedFramebufferTexture1DEXT");
	gl3wNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) get_proc("glNamedFramebufferTexture2DEXT");
	gl3wNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) get_proc("glNamedFramebufferTexture3DEXT");
	gl3wNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) get_proc("glNamedFramebufferRenderbufferEXT");
	gl3wGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) get_proc("glGetNamedFramebufferAttachmentParameterivEXT");
	gl3wGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC) get_proc("glGenerateTextureMipmapEXT");
	gl3wGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC) get_proc("glGenerateMultiTexMipmapEXT");
	gl3wFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) get_proc("glFramebufferDrawBufferEXT");
	gl3wFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) get_proc("glFramebufferDrawBuffersEXT");
	gl3wFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC) get_proc("glFramebufferReadBufferEXT");
	gl3wGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) get_proc("glGetFramebufferParameterivEXT");
	gl3wNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) get_proc("glNamedCopyBufferSubDataEXT");
	gl3wNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) get_proc("glNamedFramebufferTextureEXT");
	gl3wNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) get_proc("glNamedFramebufferTextureLayerEXT");
	gl3wNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) get_proc("glNamedFramebufferTextureFaceEXT");
	gl3wTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC) get_proc("glTextureRenderbufferEXT");
	gl3wMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC) get_proc("glMultiTexRenderbufferEXT");
	gl3wVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) get_proc("glVertexArrayVertexOffsetEXT");
	gl3wVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) get_proc("glVertexArrayColorOffsetEXT");
	gl3wVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) get_proc("glVertexArrayEdgeFlagOffsetEXT");
	gl3wVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) get_proc("glVertexArrayIndexOffsetEXT");
	gl3wVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) get_proc("glVertexArrayNormalOffsetEXT");
	gl3wVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) get_proc("glVertexArrayTexCoordOffsetEXT");
	gl3wVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) get_proc("glVertexArrayMultiTexCoordOffsetEXT");
	gl3wVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) get_proc("glVertexArrayFogCoordOffsetEXT");
	gl3wVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) get_proc("glVertexArraySecondaryColorOffsetEXT");
	gl3wVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) get_proc("glVertexArrayVertexAttribOffsetEXT");
	gl3wVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) get_proc("glVertexArrayVertexAttribIOffsetEXT");
	gl3wEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC) get_proc("glEnableVertexArrayEXT");
	gl3wDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC) get_proc("glDisableVertexArrayEXT");
	gl3wEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) get_proc("glEnableVertexArrayAttribEXT");
	gl3wDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) get_proc("glDisableVertexArrayAttribEXT");
	gl3wGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC) get_proc("glGetVertexArrayIntegervEXT");
	gl3wGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC) get_proc("glGetVertexArrayPointervEXT");
	gl3wGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) get_proc("glGetVertexArrayIntegeri_vEXT");
	gl3wGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) get_proc("glGetVertexArrayPointeri_vEXT");
	gl3wMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC) get_proc("glMapNamedBufferRangeEXT");
	gl3wFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) get_proc("glFlushMappedNamedBufferRangeEXT");
	gl3wNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC) get_proc("glNamedBufferStorageEXT");
	gl3wClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC) get_proc("glClearNamedBufferDataEXT");
	gl3wClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) get_proc("glClearNamedBufferSubDataEXT");
	gl3wNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) get_proc("glNamedFramebufferParameteriEXT");
	gl3wGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) get_proc("glGetNamedFramebufferParameterivEXT");
	gl3wProgramUniform1dEXT = (PFNGLPROGRAMUNIFORM1DEXTPROC) get_proc("glProgramUniform1dEXT");
	gl3wProgramUniform2dEXT = (PFNGLPROGRAMUNIFORM2DEXTPROC) get_proc("glProgramUniform2dEXT");
	gl3wProgramUniform3dEXT = (PFNGLPROGRAMUNIFORM3DEXTPROC) get_proc("glProgramUniform3dEXT");
	gl3wProgramUniform4dEXT = (PFNGLPROGRAMUNIFORM4DEXTPROC) get_proc("glProgramUniform4dEXT");
	gl3wProgramUniform1dvEXT = (PFNGLPROGRAMUNIFORM1DVEXTPROC) get_proc("glProgramUniform1dvEXT");
	gl3wProgramUniform2dvEXT = (PFNGLPROGRAMUNIFORM2DVEXTPROC) get_proc("glProgramUniform2dvEXT");
	gl3wProgramUniform3dvEXT = (PFNGLPROGRAMUNIFORM3DVEXTPROC) get_proc("glProgramUniform3dvEXT");
	gl3wProgramUniform4dvEXT = (PFNGLPROGRAMUNIFORM4DVEXTPROC) get_proc("glProgramUniform4dvEXT");
	gl3wProgramUniformMatrix2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) get_proc("glProgramUniformMatrix2dvEXT");
	gl3wProgramUniformMatrix3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) get_proc("glProgramUniformMatrix3dvEXT");
	gl3wProgramUniformMatrix4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) get_proc("glProgramUniformMatrix4dvEXT");
	gl3wProgramUniformMatrix2x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) get_proc("glProgramUniformMatrix2x3dvEXT");
	gl3wProgramUniformMatrix2x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) get_proc("glProgramUniformMatrix2x4dvEXT");
	gl3wProgramUniformMatrix3x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) get_proc("glProgramUniformMatrix3x2dvEXT");
	gl3wProgramUniformMatrix3x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) get_proc("glProgramUniformMatrix3x4dvEXT");
	gl3wProgramUniformMatrix4x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) get_proc("glProgramUniformMatrix4x2dvEXT");
	gl3wProgramUniformMatrix4x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) get_proc("glProgramUniformMatrix4x3dvEXT");
	gl3wTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC) get_proc("glTextureBufferRangeEXT");
	gl3wTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC) get_proc("glTextureStorage1DEXT");
	gl3wTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC) get_proc("glTextureStorage2DEXT");
	gl3wTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC) get_proc("glTextureStorage3DEXT");
	gl3wTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) get_proc("glTextureStorage2DMultisampleEXT");
	gl3wTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) get_proc("glTextureStorage3DMultisampleEXT");
	gl3wVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) get_proc("glVertexArrayBindVertexBufferEXT");
	gl3wVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) get_proc("glVertexArrayVertexAttribFormatEXT");
	gl3wVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) get_proc("glVertexArrayVertexAttribIFormatEXT");
	gl3wVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) get_proc("glVertexArrayVertexAttribLFormatEXT");
	gl3wVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) get_proc("glVertexArrayVertexAttribBindingEXT");
	gl3wVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) get_proc("glVertexArrayVertexBindingDivisorEXT");
	gl3wVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) get_proc("glVertexArrayVertexAttribLOffsetEXT");
	gl3wTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC) get_proc("glTexturePageCommitmentEXT");
	gl3wVertexArrayVertexAttribDivisorEXT = (PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) get_proc("glVertexArrayVertexAttribDivisorEXT");
	gl3wDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC) get_proc("glDrawArraysInstancedEXT");
	gl3wDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC) get_proc("glDrawElementsInstancedEXT");
	gl3wPolygonOffsetClampEXT = (PFNGLPOLYGONOFFSETCLAMPEXTPROC) get_proc("glPolygonOffsetClampEXT");
	gl3wRasterSamplesEXT = (PFNGLRASTERSAMPLESEXTPROC) get_proc("glRasterSamplesEXT");
	gl3wUseShaderProgramEXT = (PFNGLUSESHADERPROGRAMEXTPROC) get_proc("glUseShaderProgramEXT");
	gl3wActiveProgramEXT = (PFNGLACTIVEPROGRAMEXTPROC) get_proc("glActiveProgramEXT");
	gl3wCreateShaderProgramEXT = (PFNGLCREATESHADERPROGRAMEXTPROC) get_proc("glCreateShaderProgramEXT");
	gl3wFramebufferFetchBarrierEXT = (PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) get_proc("glFramebufferFetchBarrierEXT");
	gl3wWindowRectanglesEXT = (PFNGLWINDOWRECTANGLESEXTPROC) get_proc("glWindowRectanglesEXT");
	gl3wApplyFramebufferAttachmentCMAAINTEL = (PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) get_proc("glApplyFramebufferAttachmentCMAAINTEL");
	gl3wBeginPerfQueryINTEL = (PFNGLBEGINPERFQUERYINTELPROC) get_proc("glBeginPerfQueryINTEL");
	gl3wCreatePerfQueryINTEL = (PFNGLCREATEPERFQUERYINTELPROC) get_proc("glCreatePerfQueryINTEL");
	gl3wDeletePerfQueryINTEL = (PFNGLDELETEPERFQUERYINTELPROC) get_proc("glDeletePerfQueryINTEL");
	gl3wEndPerfQueryINTEL = (PFNGLENDPERFQUERYINTELPROC) get_proc("glEndPerfQueryINTEL");
	gl3wGetFirstPerfQueryIdINTEL = (PFNGLGETFIRSTPERFQUERYIDINTELPROC) get_proc("glGetFirstPerfQueryIdINTEL");
	gl3wGetNextPerfQueryIdINTEL = (PFNGLGETNEXTPERFQUERYIDINTELPROC) get_proc("glGetNextPerfQueryIdINTEL");
	gl3wGetPerfCounterInfoINTEL = (PFNGLGETPERFCOUNTERINFOINTELPROC) get_proc("glGetPerfCounterInfoINTEL");
	gl3wGetPerfQueryDataINTEL = (PFNGLGETPERFQUERYDATAINTELPROC) get_proc("glGetPerfQueryDataINTEL");
	gl3wGetPerfQueryIdByNameINTEL = (PFNGLGETPERFQUERYIDBYNAMEINTELPROC) get_proc("glGetPerfQueryIdByNameINTEL");
	gl3wGetPerfQueryInfoINTEL = (PFNGLGETPERFQUERYINFOINTELPROC) get_proc("glGetPerfQueryInfoINTEL");
	gl3wMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) get_proc("glMultiDrawArraysIndirectBindlessNV");
	gl3wMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) get_proc("glMultiDrawElementsIndirectBindlessNV");
	gl3wMultiDrawArraysIndirectBindlessCountNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) get_proc("glMultiDrawArraysIndirectBindlessCountNV");
	gl3wMultiDrawElementsIndirectBindlessCountNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) get_proc("glMultiDrawElementsIndirectBindlessCountNV");
	gl3wGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC) get_proc("glGetTextureHandleNV");
	gl3wGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC) get_proc("glGetTextureSamplerHandleNV");
	gl3wMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) get_proc("glMakeTextureHandleResidentNV");
	gl3wMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) get_proc("glMakeTextureHandleNonResidentNV");
	gl3wGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC) get_proc("glGetImageHandleNV");
	gl3wMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) get_proc("glMakeImageHandleResidentNV");
	gl3wMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) get_proc("glMakeImageHandleNonResidentNV");
	gl3wUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC) get_proc("glUniformHandleui64NV");
	gl3wUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC) get_proc("glUniformHandleui64vNV");
	gl3wProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) get_proc("glProgramUniformHandleui64NV");
	gl3wProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) get_proc("glProgramUniformHandleui64vNV");
	gl3wIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC) get_proc("glIsTextureHandleResidentNV");
	gl3wIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC) get_proc("glIsImageHandleResidentNV");
	gl3wBlendParameteriNV = (PFNGLBLENDPARAMETERINVPROC) get_proc("glBlendParameteriNV");
	gl3wBlendBarrierNV = (PFNGLBLENDBARRIERNVPROC) get_proc("glBlendBarrierNV");
	gl3wViewportPositionWScaleNV = (PFNGLVIEWPORTPOSITIONWSCALENVPROC) get_proc("glViewportPositionWScaleNV");
	gl3wCreateStatesNV = (PFNGLCREATESTATESNVPROC) get_proc("glCreateStatesNV");
	gl3wDeleteStatesNV = (PFNGLDELETESTATESNVPROC) get_proc("glDeleteStatesNV");
	gl3wIsStateNV = (PFNGLISSTATENVPROC) get_proc("glIsStateNV");
	gl3wStateCaptureNV = (PFNGLSTATECAPTURENVPROC) get_proc("glStateCaptureNV");
	gl3wGetCommandHeaderNV = (PFNGLGETCOMMANDHEADERNVPROC) get_proc("glGetCommandHeaderNV");
	gl3wGetStageIndexNV = (PFNGLGETSTAGEINDEXNVPROC) get_proc("glGetStageIndexNV");
	gl3wDrawCommandsNV = (PFNGLDRAWCOMMANDSNVPROC) get_proc("glDrawCommandsNV");
	gl3wDrawCommandsAddressNV = (PFNGLDRAWCOMMANDSADDRESSNVPROC) get_proc("glDrawCommandsAddressNV");
	gl3wDrawCommandsStatesNV = (PFNGLDRAWCOMMANDSSTATESNVPROC) get_proc("glDrawCommandsStatesNV");
	gl3wDrawCommandsStatesAddressNV = (PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC) get_proc("glDrawCommandsStatesAddressNV");
	gl3wCreateCommandListsNV = (PFNGLCREATECOMMANDLISTSNVPROC) get_proc("glCreateCommandListsNV");
	gl3wDeleteCommandListsNV = (PFNGLDELETECOMMANDLISTSNVPROC) get_proc("glDeleteCommandListsNV");
	gl3wIsCommandListNV = (PFNGLISCOMMANDLISTNVPROC) get_proc("glIsCommandListNV");
	gl3wListDrawCommandsStatesClientNV = (PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC) get_proc("glListDrawCommandsStatesClientNV");
	gl3wCommandListSegmentsNV = (PFNGLCOMMANDLISTSEGMENTSNVPROC) get_proc("glCommandListSegmentsNV");
	gl3wCompileCommandListNV = (PFNGLCOMPILECOMMANDLISTNVPROC) get_proc("glCompileCommandListNV");
	gl3wCallCommandListNV = (PFNGLCALLCOMMANDLISTNVPROC) get_proc("glCallCommandListNV");
	gl3wBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC) get_proc("glBeginConditionalRenderNV");
	gl3wEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC) get_proc("glEndConditionalRenderNV");
	gl3wSubpixelPrecisionBiasNV = (PFNGLSUBPIXELPRECISIONBIASNVPROC) get_proc("glSubpixelPrecisionBiasNV");
	gl3wConservativeRasterParameterfNV = (PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) get_proc("glConservativeRasterParameterfNV");
	gl3wConservativeRasterParameteriNV = (PFNGLCONSERVATIVERASTERPARAMETERINVPROC) get_proc("glConservativeRasterParameteriNV");
	gl3wDrawVkImageNV = (PFNGLDRAWVKIMAGENVPROC) get_proc("glDrawVkImageNV");
	gl3wGetVkProcAddrNV = (PFNGLGETVKPROCADDRNVPROC) get_proc("glGetVkProcAddrNV");
	gl3wWaitVkSemaphoreNV = (PFNGLWAITVKSEMAPHORENVPROC) get_proc("glWaitVkSemaphoreNV");
	gl3wSignalVkSemaphoreNV = (PFNGLSIGNALVKSEMAPHORENVPROC) get_proc("glSignalVkSemaphoreNV");
	gl3wSignalVkFenceNV = (PFNGLSIGNALVKFENCENVPROC) get_proc("glSignalVkFenceNV");
	gl3wFragmentCoverageColorNV = (PFNGLFRAGMENTCOVERAGECOLORNVPROC) get_proc("glFragmentCoverageColorNV");
	gl3wCoverageModulationTableNV = (PFNGLCOVERAGEMODULATIONTABLENVPROC) get_proc("glCoverageModulationTableNV");
	gl3wGetCoverageModulationTableNV = (PFNGLGETCOVERAGEMODULATIONTABLENVPROC) get_proc("glGetCoverageModulationTableNV");
	gl3wCoverageModulationNV = (PFNGLCOVERAGEMODULATIONNVPROC) get_proc("glCoverageModulationNV");
	gl3wRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) get_proc("glRenderbufferStorageMultisampleCoverageNV");
	gl3wUniform1i64NV = (PFNGLUNIFORM1I64NVPROC) get_proc("glUniform1i64NV");
	gl3wUniform2i64NV = (PFNGLUNIFORM2I64NVPROC) get_proc("glUniform2i64NV");
	gl3wUniform3i64NV = (PFNGLUNIFORM3I64NVPROC) get_proc("glUniform3i64NV");
	gl3wUniform4i64NV = (PFNGLUNIFORM4I64NVPROC) get_proc("glUniform4i64NV");
	gl3wUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC) get_proc("glUniform1i64vNV");
	gl3wUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC) get_proc("glUniform2i64vNV");
	gl3wUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC) get_proc("glUniform3i64vNV");
	gl3wUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC) get_proc("glUniform4i64vNV");
	gl3wUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC) get_proc("glUniform1ui64NV");
	gl3wUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC) get_proc("glUniform2ui64NV");
	gl3wUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC) get_proc("glUniform3ui64NV");
	gl3wUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC) get_proc("glUniform4ui64NV");
	gl3wUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC) get_proc("glUniform1ui64vNV");
	gl3wUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC) get_proc("glUniform2ui64vNV");
	gl3wUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC) get_proc("glUniform3ui64vNV");
	gl3wUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC) get_proc("glUniform4ui64vNV");
	gl3wGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC) get_proc("glGetUniformi64vNV");
	gl3wProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC) get_proc("glProgramUniform1i64NV");
	gl3wProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC) get_proc("glProgramUniform2i64NV");
	gl3wProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC) get_proc("glProgramUniform3i64NV");
	gl3wProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC) get_proc("glProgramUniform4i64NV");
	gl3wProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC) get_proc("glProgramUniform1i64vNV");
	gl3wProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC) get_proc("glProgramUniform2i64vNV");
	gl3wProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC) get_proc("glProgramUniform3i64vNV");
	gl3wProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC) get_proc("glProgramUniform4i64vNV");
	gl3wProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC) get_proc("glProgramUniform1ui64NV");
	gl3wProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC) get_proc("glProgramUniform2ui64NV");
	gl3wProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC) get_proc("glProgramUniform3ui64NV");
	gl3wProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC) get_proc("glProgramUniform4ui64NV");
	gl3wProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC) get_proc("glProgramUniform1ui64vNV");
	gl3wProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC) get_proc("glProgramUniform2ui64vNV");
	gl3wProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC) get_proc("glProgramUniform3ui64vNV");
	gl3wProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC) get_proc("glProgramUniform4ui64vNV");
	gl3wGetInternalformatSampleivNV = (PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) get_proc("glGetInternalformatSampleivNV");
	gl3wGetMemoryObjectDetachedResourcesuivNV = (PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC) get_proc("glGetMemoryObjectDetachedResourcesuivNV");
	gl3wResetMemoryObjectParameterNV = (PFNGLRESETMEMORYOBJECTPARAMETERNVPROC) get_proc("glResetMemoryObjectParameterNV");
	gl3wTexAttachMemoryNV = (PFNGLTEXATTACHMEMORYNVPROC) get_proc("glTexAttachMemoryNV");
	gl3wBufferAttachMemoryNV = (PFNGLBUFFERATTACHMEMORYNVPROC) get_proc("glBufferAttachMemoryNV");
	gl3wTextureAttachMemoryNV = (PFNGLTEXTUREATTACHMEMORYNVPROC) get_proc("glTextureAttachMemoryNV");
	gl3wNamedBufferAttachMemoryNV = (PFNGLNAMEDBUFFERATTACHMEMORYNVPROC) get_proc("glNamedBufferAttachMemoryNV");
	gl3wDrawMeshTasksNV = (PFNGLDRAWMESHTASKSNVPROC) get_proc("glDrawMeshTasksNV");
	gl3wDrawMeshTasksIndirectNV = (PFNGLDRAWMESHTASKSINDIRECTNVPROC) get_proc("glDrawMeshTasksIndirectNV");
	gl3wMultiDrawMeshTasksIndirectNV = (PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC) get_proc("glMultiDrawMeshTasksIndirectNV");
	gl3wMultiDrawMeshTasksIndirectCountNV = (PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC) get_proc("glMultiDrawMeshTasksIndirectCountNV");
	gl3wGenPathsNV = (PFNGLGENPATHSNVPROC) get_proc("glGenPathsNV");
	gl3wDeletePathsNV = (PFNGLDELETEPATHSNVPROC) get_proc("glDeletePathsNV");
	gl3wIsPathNV = (PFNGLISPATHNVPROC) get_proc("glIsPathNV");
	gl3wPathCommandsNV = (PFNGLPATHCOMMANDSNVPROC) get_proc("glPathCommandsNV");
	gl3wPathCoordsNV = (PFNGLPATHCOORDSNVPROC) get_proc("glPathCoordsNV");
	gl3wPathSubCommandsNV = (PFNGLPATHSUBCOMMANDSNVPROC) get_proc("glPathSubCommandsNV");
	gl3wPathSubCoordsNV = (PFNGLPATHSUBCOORDSNVPROC) get_proc("glPathSubCoordsNV");
	gl3wPathStringNV = (PFNGLPATHSTRINGNVPROC) get_proc("glPathStringNV");
	gl3wPathGlyphsNV = (PFNGLPATHGLYPHSNVPROC) get_proc("glPathGlyphsNV");
	gl3wPathGlyphRangeNV = (PFNGLPATHGLYPHRANGENVPROC) get_proc("glPathGlyphRangeNV");
	gl3wWeightPathsNV = (PFNGLWEIGHTPATHSNVPROC) get_proc("glWeightPathsNV");
	gl3wCopyPathNV = (PFNGLCOPYPATHNVPROC) get_proc("glCopyPathNV");
	gl3wInterpolatePathsNV = (PFNGLINTERPOLATEPATHSNVPROC) get_proc("glInterpolatePathsNV");
	gl3wTransformPathNV = (PFNGLTRANSFORMPATHNVPROC) get_proc("glTransformPathNV");
	gl3wPathParameterivNV = (PFNGLPATHPARAMETERIVNVPROC) get_proc("glPathParameterivNV");
	gl3wPathParameteriNV = (PFNGLPATHPARAMETERINVPROC) get_proc("glPathParameteriNV");
	gl3wPathParameterfvNV = (PFNGLPATHPARAMETERFVNVPROC) get_proc("glPathParameterfvNV");
	gl3wPathParameterfNV = (PFNGLPATHPARAMETERFNVPROC) get_proc("glPathParameterfNV");
	gl3wPathDashArrayNV = (PFNGLPATHDASHARRAYNVPROC) get_proc("glPathDashArrayNV");
	gl3wPathStencilFuncNV = (PFNGLPATHSTENCILFUNCNVPROC) get_proc("glPathStencilFuncNV");
	gl3wPathStencilDepthOffsetNV = (PFNGLPATHSTENCILDEPTHOFFSETNVPROC) get_proc("glPathStencilDepthOffsetNV");
	gl3wStencilFillPathNV = (PFNGLSTENCILFILLPATHNVPROC) get_proc("glStencilFillPathNV");
	gl3wStencilStrokePathNV = (PFNGLSTENCILSTROKEPATHNVPROC) get_proc("glStencilStrokePathNV");
	gl3wStencilFillPathInstancedNV = (PFNGLSTENCILFILLPATHINSTANCEDNVPROC) get_proc("glStencilFillPathInstancedNV");
	gl3wStencilStrokePathInstancedNV = (PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) get_proc("glStencilStrokePathInstancedNV");
	gl3wPathCoverDepthFuncNV = (PFNGLPATHCOVERDEPTHFUNCNVPROC) get_proc("glPathCoverDepthFuncNV");
	gl3wCoverFillPathNV = (PFNGLCOVERFILLPATHNVPROC) get_proc("glCoverFillPathNV");
	gl3wCoverStrokePathNV = (PFNGLCOVERSTROKEPATHNVPROC) get_proc("glCoverStrokePathNV");
	gl3wCoverFillPathInstancedNV = (PFNGLCOVERFILLPATHINSTANCEDNVPROC) get_proc("glCoverFillPathInstancedNV");
	gl3wCoverStrokePathInstancedNV = (PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) get_proc("glCoverStrokePathInstancedNV");
	gl3wGetPathParameterivNV = (PFNGLGETPATHPARAMETERIVNVPROC) get_proc("glGetPathParameterivNV");
	gl3wGetPathParameterfvNV = (PFNGLGETPATHPARAMETERFVNVPROC) get_proc("glGetPathParameterfvNV");
	gl3wGetPathCommandsNV = (PFNGLGETPATHCOMMANDSNVPROC) get_proc("glGetPathCommandsNV");
	gl3wGetPathCoordsNV = (PFNGLGETPATHCOORDSNVPROC) get_proc("glGetPathCoordsNV");
	gl3wGetPathDashArrayNV = (PFNGLGETPATHDASHARRAYNVPROC) get_proc("glGetPathDashArrayNV");
	gl3wGetPathMetricsNV = (PFNGLGETPATHMETRICSNVPROC) get_proc("glGetPathMetricsNV");
	gl3wGetPathMetricRangeNV = (PFNGLGETPATHMETRICRANGENVPROC) get_proc("glGetPathMetricRangeNV");
	gl3wGetPathSpacingNV = (PFNGLGETPATHSPACINGNVPROC) get_proc("glGetPathSpacingNV");
	gl3wIsPointInFillPathNV = (PFNGLISPOINTINFILLPATHNVPROC) get_proc("glIsPointInFillPathNV");
	gl3wIsPointInStrokePathNV = (PFNGLISPOINTINSTROKEPATHNVPROC) get_proc("glIsPointInStrokePathNV");
	gl3wGetPathLengthNV = (PFNGLGETPATHLENGTHNVPROC) get_proc("glGetPathLengthNV");
	gl3wPointAlongPathNV = (PFNGLPOINTALONGPATHNVPROC) get_proc("glPointAlongPathNV");
	gl3wMatrixLoad3x2fNV = (PFNGLMATRIXLOAD3X2FNVPROC) get_proc("glMatrixLoad3x2fNV");
	gl3wMatrixLoad3x3fNV = (PFNGLMATRIXLOAD3X3FNVPROC) get_proc("glMatrixLoad3x3fNV");
	gl3wMatrixLoadTranspose3x3fNV = (PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) get_proc("glMatrixLoadTranspose3x3fNV");
	gl3wMatrixMult3x2fNV = (PFNGLMATRIXMULT3X2FNVPROC) get_proc("glMatrixMult3x2fNV");
	gl3wMatrixMult3x3fNV = (PFNGLMATRIXMULT3X3FNVPROC) get_proc("glMatrixMult3x3fNV");
	gl3wMatrixMultTranspose3x3fNV = (PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) get_proc("glMatrixMultTranspose3x3fNV");
	gl3wStencilThenCoverFillPathNV = (PFNGLSTENCILTHENCOVERFILLPATHNVPROC) get_proc("glStencilThenCoverFillPathNV");
	gl3wStencilThenCoverStrokePathNV = (PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) get_proc("glStencilThenCoverStrokePathNV");
	gl3wStencilThenCoverFillPathInstancedNV = (PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) get_proc("glStencilThenCoverFillPathInstancedNV");
	gl3wStencilThenCoverStrokePathInstancedNV = (PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) get_proc("glStencilThenCoverStrokePathInstancedNV");
	gl3wPathGlyphIndexRangeNV = (PFNGLPATHGLYPHINDEXRANGENVPROC) get_proc("glPathGlyphIndexRangeNV");
	gl3wPathGlyphIndexArrayNV = (PFNGLPATHGLYPHINDEXARRAYNVPROC) get_proc("glPathGlyphIndexArrayNV");
	gl3wPathMemoryGlyphIndexArrayNV = (PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) get_proc("glPathMemoryGlyphIndexArrayNV");
	gl3wProgramPathFragmentInputGenNV = (PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) get_proc("glProgramPathFragmentInputGenNV");
	gl3wGetProgramResourcefvNV = (PFNGLGETPROGRAMRESOURCEFVNVPROC) get_proc("glGetProgramResourcefvNV");
	gl3wFramebufferSampleLocationsfvNV = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) get_proc("glFramebufferSampleLocationsfvNV");
	gl3wNamedFramebufferSampleLocationsfvNV = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) get_proc("glNamedFramebufferSampleLocationsfvNV");
	gl3wResolveDepthValuesNV = (PFNGLRESOLVEDEPTHVALUESNVPROC) get_proc("glResolveDepthValuesNV");
	gl3wScissorExclusiveNV = (PFNGLSCISSOREXCLUSIVENVPROC) get_proc("glScissorExclusiveNV");
	gl3wScissorExclusiveArrayvNV = (PFNGLSCISSOREXCLUSIVEARRAYVNVPROC) get_proc("glScissorExclusiveArrayvNV");
	gl3wMakeBufferResidentNV = (PFNGLMAKEBUFFERRESIDENTNVPROC) get_proc("glMakeBufferResidentNV");
	gl3wMakeBufferNonResidentNV = (PFNGLMAKEBUFFERNONRESIDENTNVPROC) get_proc("glMakeBufferNonResidentNV");
	gl3wIsBufferResidentNV = (PFNGLISBUFFERRESIDENTNVPROC) get_proc("glIsBufferResidentNV");
	gl3wMakeNamedBufferResidentNV = (PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) get_proc("glMakeNamedBufferResidentNV");
	gl3wMakeNamedBufferNonResidentNV = (PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) get_proc("glMakeNamedBufferNonResidentNV");
	gl3wIsNamedBufferResidentNV = (PFNGLISNAMEDBUFFERRESIDENTNVPROC) get_proc("glIsNamedBufferResidentNV");
	gl3wGetBufferParameterui64vNV = (PFNGLGETBUFFERPARAMETERUI64VNVPROC) get_proc("glGetBufferParameterui64vNV");
	gl3wGetNamedBufferParameterui64vNV = (PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) get_proc("glGetNamedBufferParameterui64vNV");
	gl3wGetIntegerui64vNV = (PFNGLGETINTEGERUI64VNVPROC) get_proc("glGetIntegerui64vNV");
	gl3wUniformui64NV = (PFNGLUNIFORMUI64NVPROC) get_proc("glUniformui64NV");
	gl3wUniformui64vNV = (PFNGLUNIFORMUI64VNVPROC) get_proc("glUniformui64vNV");
	gl3wGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC) get_proc("glGetUniformui64vNV");
	gl3wProgramUniformui64NV = (PFNGLPROGRAMUNIFORMUI64NVPROC) get_proc("glProgramUniformui64NV");
	gl3wProgramUniformui64vNV = (PFNGLPROGRAMUNIFORMUI64VNVPROC) get_proc("glProgramUniformui64vNV");
	gl3wBindShadingRateImageNV = (PFNGLBINDSHADINGRATEIMAGENVPROC) get_proc("glBindShadingRateImageNV");
	gl3wGetShadingRateImagePaletteNV = (PFNGLGETSHADINGRATEIMAGEPALETTENVPROC) get_proc("glGetShadingRateImagePaletteNV");
	gl3wGetShadingRateSampleLocationivNV = (PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC) get_proc("glGetShadingRateSampleLocationivNV");
	gl3wShadingRateImageBarrierNV = (PFNGLSHADINGRATEIMAGEBARRIERNVPROC) get_proc("glShadingRateImageBarrierNV");
	gl3wShadingRateImagePaletteNV = (PFNGLSHADINGRATEIMAGEPALETTENVPROC) get_proc("glShadingRateImagePaletteNV");
	gl3wShadingRateSampleOrderNV = (PFNGLSHADINGRATESAMPLEORDERNVPROC) get_proc("glShadingRateSampleOrderNV");
	gl3wShadingRateSampleOrderCustomNV = (PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC) get_proc("glShadingRateSampleOrderCustomNV");
	gl3wTextureBarrierNV = (PFNGLTEXTUREBARRIERNVPROC) get_proc("glTextureBarrierNV");
	gl3wVertexAttribL1i64NV = (PFNGLVERTEXATTRIBL1I64NVPROC) get_proc("glVertexAttribL1i64NV");
	gl3wVertexAttribL2i64NV = (PFNGLVERTEXATTRIBL2I64NVPROC) get_proc("glVertexAttribL2i64NV");
	gl3wVertexAttribL3i64NV = (PFNGLVERTEXATTRIBL3I64NVPROC) get_proc("glVertexAttribL3i64NV");
	gl3wVertexAttribL4i64NV = (PFNGLVERTEXATTRIBL4I64NVPROC) get_proc("glVertexAttribL4i64NV");
	gl3wVertexAttribL1i64vNV = (PFNGLVERTEXATTRIBL1I64VNVPROC) get_proc("glVertexAttribL1i64vNV");
	gl3wVertexAttribL2i64vNV = (PFNGLVERTEXATTRIBL2I64VNVPROC) get_proc("glVertexAttribL2i64vNV");
	gl3wVertexAttribL3i64vNV = (PFNGLVERTEXATTRIBL3I64VNVPROC) get_proc("glVertexAttribL3i64vNV");
	gl3wVertexAttribL4i64vNV = (PFNGLVERTEXATTRIBL4I64VNVPROC) get_proc("glVertexAttribL4i64vNV");
	gl3wVertexAttribL1ui64NV = (PFNGLVERTEXATTRIBL1UI64NVPROC) get_proc("glVertexAttribL1ui64NV");
	gl3wVertexAttribL2ui64NV = (PFNGLVERTEXATTRIBL2UI64NVPROC) get_proc("glVertexAttribL2ui64NV");
	gl3wVertexAttribL3ui64NV = (PFNGLVERTEXATTRIBL3UI64NVPROC) get_proc("glVertexAttribL3ui64NV");
	gl3wVertexAttribL4ui64NV = (PFNGLVERTEXATTRIBL4UI64NVPROC) get_proc("glVertexAttribL4ui64NV");
	gl3wVertexAttribL1ui64vNV = (PFNGLVERTEXATTRIBL1UI64VNVPROC) get_proc("glVertexAttribL1ui64vNV");
	gl3wVertexAttribL2ui64vNV = (PFNGLVERTEXATTRIBL2UI64VNVPROC) get_proc("glVertexAttribL2ui64vNV");
	gl3wVertexAttribL3ui64vNV = (PFNGLVERTEXATTRIBL3UI64VNVPROC) get_proc("glVertexAttribL3ui64vNV");
	gl3wVertexAttribL4ui64vNV = (PFNGLVERTEXATTRIBL4UI64VNVPROC) get_proc("glVertexAttribL4ui64vNV");
	gl3wGetVertexAttribLi64vNV = (PFNGLGETVERTEXATTRIBLI64VNVPROC) get_proc("glGetVertexAttribLi64vNV");
	gl3wGetVertexAttribLui64vNV = (PFNGLGETVERTEXATTRIBLUI64VNVPROC) get_proc("glGetVertexAttribLui64vNV");
	gl3wVertexAttribLFormatNV = (PFNGLVERTEXATTRIBLFORMATNVPROC) get_proc("glVertexAttribLFormatNV");
	gl3wBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC) get_proc("glBufferAddressRangeNV");
	gl3wVertexFormatNV = (PFNGLVERTEXFORMATNVPROC) get_proc("glVertexFormatNV");
	gl3wNormalFormatNV = (PFNGLNORMALFORMATNVPROC) get_proc("glNormalFormatNV");
	gl3wColorFormatNV = (PFNGLCOLORFORMATNVPROC) get_proc("glColorFormatNV");
	gl3wIndexFormatNV = (PFNGLINDEXFORMATNVPROC) get_proc("glIndexFormatNV");
	gl3wTexCoordFormatNV = (PFNGLTEXCOORDFORMATNVPROC) get_proc("glTexCoordFormatNV");
	gl3wEdgeFlagFormatNV = (PFNGLEDGEFLAGFORMATNVPROC) get_proc("glEdgeFlagFormatNV");
	gl3wSecondaryColorFormatNV = (PFNGLSECONDARYCOLORFORMATNVPROC) get_proc("glSecondaryColorFormatNV");
	gl3wFogCoordFormatNV = (PFNGLFOGCOORDFORMATNVPROC) get_proc("glFogCoordFormatNV");
	gl3wVertexAttribFormatNV = (PFNGLVERTEXATTRIBFORMATNVPROC) get_proc("glVertexAttribFormatNV");
	gl3wVertexAttribIFormatNV = (PFNGLVERTEXATTRIBIFORMATNVPROC) get_proc("glVertexAttribIFormatNV");
	gl3wGetIntegerui64i_vNV = (PFNGLGETINTEGERUI64I_VNVPROC) get_proc("glGetIntegerui64i_vNV");
	gl3wViewportSwizzleNV = (PFNGLVIEWPORTSWIZZLENVPROC) get_proc("glViewportSwizzleNV");
	gl3wFramebufferTextureMultiviewOVR = (PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) get_proc("glFramebufferTextureMultiviewOVR");
}
